我在shell.html中有一个按钮,单击该按钮,我需要发布当前视图模型。
我可以确定当前视图模型的模块ID,但是如何获得对其的引用,以便可以从shell.js
调用其方法对于例如,如果我当前的视图模型具有称为" submisplication"的方法我想通过单击shell.html
中的按钮来调用或触发此方法。请帮助。
谢谢
考虑使用Durandal的事件系统进行交叉模块通信。http://durandaljs.com/documentation/leveraging-publish-subscribe.html
默认情况下,app
具有包括事件功能,这将使您可以按照以下行进行操作:
shell.js
submitOnClick: function(){
app.trigger('application:submit', payload);
}
ViewModel
app.on('application:submit').then(function(payload){
//do something with payload
});