【发布时间】:2012-01-31 12:27:44
【问题描述】:
我正在开发一个主干.js 应用程序,并且已经达到了我有许多路由器和视图代表我的应用程序每个部分的地步。在下面的简化路由器示例中,我有两个位置; account & users.
每个位置的两个视图都将其内容呈现给一个名为#appcontainer 的相互元素。我的常识是,在启动另一个视图之前,我应该确保 remove 每个视图,以防止绑定、DOM 和诸如此类的冲突。
但由于我无法确定是否已创建视图,因此我无法从路由器内部或视图中显式调用 previousView.remove()。
将$(this.el).empty() 添加到每个视图的构造函数中是否足以从 DOM 中清除任何最终的先前绑定和元素?
这是路由器示例?
var myRouter = Backbone.Router.extend({
routes: {
"account": "account",
"users": "users"
},
account: function() {
view = new AccountView({});
view.render();
},
users: function() {
view = new UserView({});
view.render();
}
});
【问题讨论】:
标签: jquery dom backbone.js