[英]Instantiate and use 2 or more JavaScript ES6 classes
使用JavaScript ES6我有几个班到我要分开我的应用程序的各种关切。 我有一个main.js文件,希望在其中实例化类,然后能够在它们之间引用和调用方法。
我的问题是:什么是最好的/标准的方法? 我目前的方法如下:
在main.js中,我创建了一个实例化两个类的App类
import ClassOne from './ClassOne';
import ClassTwo from './ClassTwo';
export default class App {
constructor () {
this.one = new ClassOne(this);
this.two = new ClassTwo(this);
}
}
const app = new App();
然后在ClassOne.js中,我做这样的事情
export default class ClassOne {
constructor (app) {
this.app = app;
this.app.two.callMethod();
}
}
这当然有效,但它看起来stoopid及是否有这样做的更好的办法?
我建议在ClassOne和ClassTwo中使用二传手。 这样,只有ClassOne和ClassTwo彼此依赖,而不依赖于App的实例。
ClassOne.js
export default class ClassOne {
setTwo (two) {
this.two = two;
this.two.callMethod();
}
}
ClassTwo.js
export default class ClassTwo {
setOne (one) {
this.one = one;
this.one.callMethod();
}
}
main.js
import ClassOne from './ClassOne';
import ClassTwo from './ClassTwo';
export default class App {
constructor () {
this.one = new ClassOne();
this.two = new ClassTwo();
this.one.setTwo(this.two);
this.two.setOne(this.one);
}
}
const app = new App();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.