如何从Shell.js访问当前视图模型方法

时间:2014-02-03 10:53:51

标签: shell durandal

我在shell.html中有一个按钮,单击该按钮我需要发布当前视图模型。

我可以确定当前视图模型的Module Id,但是如何获取它的引用以便我可以从Shell.js调用它的方法

例如,如果我当前的视图模型有一个名为“SubmitApplication”的方法 我想通过单击Shell.html中的按钮

从Shell.js调用或触发此方法

请帮忙。

由于

1 个答案:

答案 0 :(得分:1)

考虑使用Durandal的事件系统进行跨模块通信。 http://durandaljs.com/documentation/Leveraging-Publish-Subscribe.html

默认情况下,app包含事件功能,可以让您按以下方式执行操作:

shell.js

submitOnClick: function(){
    app.trigger('application:submit', payload);
}

视图模型

app.on('application:submit').then(function(payload){
    //do something with payload
});