我有几个视图作为与路径对应的主视图模块(RequireJS)。我打算使用这些主视图模块作为入口/控制器,初始化更多的子视图。在初始化新视图之前,每个路径都要求将页面上活动的大多数视图与子视图一起删除。我虽然失去了如何实现这一点。我应该跟踪加载的视图并在AppRouter或主视图模块中进行清理吗?
我的路线
var AppRouter = Backbone.Router.extend({
routes: {
'pagex/new': 'newPost',
'pagey/:id: 'foo'
},
newPost: function() {
// remove and cleanup current active views here (I don't know how)
// render newPost view
},
// ...
});
整个申请的主要观点:
var appView = Backbone.View.extend({
var router = new Router();
Backbone.history.start({ pushState: true });
$(document).on('click', 'a:not([data-bypass])', function (evt) {
var href = $(this).attr('href');
var protocol = this.protocol + '//';
if (href.slice(protocol.length) !== protocol) {
evt.preventDefault();
router.navigate(href, true);
}
});
});
答案 0 :(得分:1)
节省一些时间,并使用Marionette。然后,您将定义您的区域,您将在其中显示您的观看次数。 Marionette将为您处理意见的结束(并且还有许多其他好东西,所以没有理由不使用它)。