我有一个使用Knockout
开发的Durandal.JS
应用程序。这是我的项目的结构:
- Parent
- Index.js
- Index.html
- Child1
- Index.js
- Index.html
- Child2
- Index.js
- Index.html
我在UpdateData()
中声明了一个函数Child2/Index.js
,我想从Child1/Index.js
中使用该函数
在Child2
中声明此函数的原因是,我在Child2中声明了其他变量和控件。通过调用UpdateData()
方法,我想更新在Child2中声明的所有变量的值。
我不知道该如何处理。
答案 0 :(得分:0)
Durandal默认情况下使用require加载模块。您可以尝试在child1模块中要求使用child2模块。
//child1 module
define(function (require) {
//require child2 into the module
var child2 = require('Child2/Index');
//use the method
child2.UpdateData();
});
要执行此操作,必须从UpdateData()
返回Child2
方法。
//child2 module
define(function(){
return {
UpdateData:function(){
//your method
}
}});
有关更多信息,您可以阅读有关如何创建可被其他模块重用的模块的文档。 http://durandaljs.com/documentation/Creating-A-Module.html