Knockout.js Durandal:在一个子系统中创建函数并从另一个子系统中消费

Knockout.js Durandal:在一个子系统中创建函数并从另一个子系统中消费,knockout.js,durandal,durandal-2.0,Knockout.js,Durandal,Durandal 2.0,我使用Durandal.JS开发了一个Knockout应用程序。以下是我的项目结构: - Parent - Index.js - Index.html - Child1 - Index.js - Index.html - Child2 - Index.js - Index.html 我在Child2/Index.js中声明了一个函数UpdateData() 在Child2中声明此函数的原因是,我在Child2中声明了其他变量和控件。通过调用Upd

我使用
Durandal.JS
开发了一个
Knockout
应用程序。以下是我的项目结构:

- Parent
    - Index.js
    - Index.html
- Child1
    - Index.js
    - Index.html
- Child2
    - Index.js
    - Index.html
我在
Child2/Index.js
中声明了一个函数
UpdateData()

Child2
中声明此函数的原因是,我在Child2中声明了其他变量和控件。通过调用
UpdateData()
方法,我想更新Child2中声明的所有变量的值


我不知道如何处理这种情况

Durandal默认使用require加载模块。您可以尝试在child1模块中要求使用child2模块

//child1 module
define(function (require) {

//require child2 into the module
var child2 = require('Child2/Index');

//use the method
child2.UpdateData();
});
要使其工作,必须从
Child2
返回
UpdateData()
方法

//child2 module
define(function(){
return {
UpdateData:function(){
  //your method
}
}});
有关更多信息,您可以浏览有关如何创建可由其他模块重用的模块的文档。

您是否尝试过使用内置消息事件?