我正在使用正在使用合成的durandal master详细信息示例。我有一个视图模型,其中定义了一些事件,
var ctor = function(name, description) {
this.name = name;
this.description = description;
};
ctor.prototype.activate = function() {
system.log('Model Activating', this);
};
ctor.prototype.deactivate = function () {
system.log('Model Deactivating', this);
};
ctor.prototype.viewAttached = function (view) {
system.log('this is not called !', this);
};
触发除viewAttached之外的所有事件。我在这里找不到原因..
答案 0 :(得分:2)
实际上我在GithHub存储库中使用了最新版本的Durandal。在查看合成模块之后发现它们已将其重命名为compositionComplete
。这按预期工作..
ctor.prototype.compositionComplete= function (view) {
system.log('works!', this);
};
修改强>
获得Durandal 2.0后,在文档中我们有attached
个事件,而不是viewAttached
答案 1 :(得分:1)
如果您使用的是Durandal 2.0,则'viewAttached'方法已重命名为'attach'。
答案 2 :(得分:0)
如果没有更多信息,我唯一可以建议检查的是这封注from the Durandal docs:
注意:如果您设置了cacheViews:true,那么只有在初始绑定时第一次显示视图时才会调用viewAttached,因为从技术上讲,视图只附加一次。如果您希望覆盖此行为,请在合成绑定上设置alwaysAttachView:true。
尝试在绑定中设置alwaysAttachView:true
,看看是否有效。