我不知道如何实现这一点并且觉得从路由器调用“view.executeSomeUIaction()”并不是一个好主意。感谢帮助。
答案 0 :(得分:0)
当视图的el
添加到DOM时,您是否希望在视图上执行某些代码?
我使用Region
对象构建了我的Backbone.Marionette框架,我写了一篇博文,在这里:http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/
在这篇文章中请注意,我正在检查onShow
方法,然后调用它(如果存在)。这是你想要注意的一点。如果将此方法添加到视图中,然后使用区域对象来显示视图,则将调用此方法,您可以在此时执行任何操作。
我的Marionette框架内置了Region对象,或者您可以将其复制到该博客帖子中:https://github.com/derickbailey/backbone.marionette
答案 1 :(得分:0)
如果您想要的是在将视图加载到页面中时执行某些操作,我希望
var contactsView = Backbone.View.extend({
id: "contactView",
tagName: "div",
className: "contacts-container",
render:function(){
//render your view
//now attach the events that don't bubble
$(this.el).on("load",this.added);
},
events: {},
added: function () {
alert("View had been added");
}
});
答案 2 :(得分:0)
The approach太短,是使用setTimeout
,超时为0.这在大多数情况下适合我。