我不确定如何实现这一点,并且觉得从路由器“view.executeSomeUIaction()”调用不是一个好主意。感谢帮助。
问问题
134 次
3 回答
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");
}
});
JsFiddle 玩
已更正
于 2012-05-04T04:01:36.947 回答
0
mu 建议的方法太短了,使用setTimeout
超时为 0 的 a。这在大多数情况下对我来说都很好。
于 2013-01-22T05:18:10.473 回答
0
el
当视图添加到 DOM时,您想在视图上执行一些代码吗?
我在我的 Backbone.Marionette 框架中内置了该Region
对象,我在此处写了一篇博客文章:http: //lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions -和区域经理/
请注意,在这篇文章中,我正在检查一个onShow
方法,然后在它存在时调用它。这是您要注意的一点。如果您将此方法添加到您的视图中,然后使用区域对象来显示您的视图,则将调用此方法,您可以在此时执行任何您需要的操作。
我的 Marionette 框架内置了 Region 对象,或者您可以从该博客文章中复制它:https ://github.com/derickbailey/backbone.marionette
于 2012-05-04T02:43:57.047 回答