Fdr*_*Fdr 6 javascript backbone.js backbone-views
我想弄清楚以下情况:
让我们说我有两个观点:一个用于查看项目,另一个用于购买它们.问题在于购买视图是用于查看的子视图.
对于路由,我有:
var MyRouter = Backbone.Router.extend({
routes: {
'item/:id': 'viewRoute',
'item/:id/buy': 'buyRoute'
}
});
var router = new MyRouter;
router.on("route:viewRoute", function() {
// initialize main view
App.mainview = new ViewItemView();
});
router.on("route:buyRoute", function() {
// initialize sub view
App.subview = new BuyItemView();
});
Run Code Online (Sandbox Code Playgroud)
现在,如果用户刷新页面buyRoute并被触发,但现在没有主视图.处理这个问题的最佳解决方案是什么?
我认为您现在遇到的问题是您不想在 BuyView 中显示 ViewItem 中的一些内容?如果是这样,那么您应该将 BuyView 和 ViewItem 的共同点模块化到另一个视图中,然后在这两条路线上对其进行初始化。
这是我的一个应用程序的代码示例
https://github.com/QuynhNguyen/Team-Collaboration/blob/master/app/scripts/routes/app-router.coffee
正如您所看到的,我对侧边栏进行了模块化,因为它可以在许多视图之间共享。我这样做是为了它可以重用并且不会引起任何冲突。