0

我不确定如何实现这一点,并且觉得从路由器“view.executeSomeUIaction()”调用不是一个好主意。感谢帮助。

4

3 回答 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 玩

http://jsfiddle.net/qy2Ly/

已更正

http://jsfiddle.net/zRSg3/3/

于 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 回答