2013-08-05 148 views
1

我使用的是使用composition.I迪朗达尔主细节样品有它定义了一些事件视图模型,ViewAttached事件不会触发

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的事件被触发。我找不到这里的原因..

回答

2

其实我使用的是GithHub仓库的Durandal的最新版本。查找到组合模块后,发现它们已将它重命名为compositionComplete。这工作正常..

ctor.prototype.compositionComplete= function (view) { 
     system.log('works!', this); 
    }; 

编辑
越来越迪朗达尔2.0正式发布,在文件后,我们有attached事件,而不是viewAttached

0

没有更多的信息,我可以建议检查的仅仅是本说明from the Durandal docs:

注意:如果你已经设置cacheViews:true,则viewAttached才会被调用第一次显示视图时,在初始绑定上,因为从技术上来说视图只附加一次。如果您希望重写此行为,请在您的作文绑定上设置alwaysAttachView:true。

尝试在您的绑定中设置alwaysAttachView:true,看看是否有效。

+0

谢谢!发现问题..我正在使用GitHUb存储库的最新版本。 –

1

如果使用迪朗达尔2.0中,“viewAttached”的方法被重新命名为“附加”。