我有一个有2个子模块依赖项的模块。在父模块中,有一个方法,我想从两个子模块调用。我怎么能这样做?
是否有另一种方法将父模块对象传递给子模块构造函数?
define(['child1', 'child2'], function (child1, child2) {
return {
init: function () {
child1.init();
child2.init();
},
parentMethod: function() {
console.log('called');
}
}
});
/*child1*/
define(function() {
return {
init: function() {
//call parentMethod()
}
}
});
/*child2*/
define(function() {
return {
init: function() {
//call parentMethod()
}
}
});
答案 0 :(得分:3)
RequireJS没有模块之间的父子关系概念。鉴于模块是单例,并且像child1
这样的模块可以由多个模块加载(例如,由parent1
和parent2
加载),那么RequireJS应该考虑哪个模块是真实的 child1
的父级?
将对父母的引用传递给您孩子的init()
功能真是可行的方法。