javascript - 在从属模块的构造函数中传递 `this` 值 - 键入
问题描述
我是 TypeScript 的新手,我尝试将现有的代码从 JS 升级到 TS。如何解决这个问题?因为现在它遇到了循环依赖问题。
目录:
Main.ts
Helper.ts
主要模块:
import Helper from "./Helper"
export default class Main {
helper: Helper
constructor() {
this.helper = new Helper(this);
}
}
辅助(从属)模块:
import Main from "./Main"
export default class Helper {
main: Main;
constructor(main: Main) {
this.main = main;
}
}
解决方案
事实上,你正在做一些“循环”的事情。您将需要更多地考虑类行为以及它们之间的交互。我强烈建议你开始extend
类,例如你可以从你的 Main 开始创建子类:
你的主要课程:
class Main {
changeSomething(str) {
console.log(str);
}
}
你的助手类:
import Main from "./Main";
class Helper extends Main {
constructor() {
super(); // Now you will have access to props and methods from Main class
}
launch() {
this.changeSomething('wo!'); // Calling a parent method
}
}
推荐阅读
- android - 如何在TOP制作吐司秀?
- javascript - 网页中的文件查看器
- reactjs - 如何使用 redux obervable 史诗实现 IndexedDB-Then-Network 策略?
- corda - 是否可以在 Corda 交易到达最后阶段之前更改参与方?
- java - 根据groovy中存储的时区将Java日期转换为特定时区
- java - JavaFX 使用自定义对象编辑 TreeView
- xamarin.android - 打开可搜索微调器时隐藏软键盘
- mysql - Sequelize 的 hasMany() 与 hasOne() 一样工作。帮忙整理一下
- git - Why am I getting another Commit Id in output?
- c - 达到EOF后如何倒带stdin?