我刚刚开始深入研究backbone.js,我不确定使用路由器的最佳方法是什么。
App.Events = _.extend({}, Backbone.Events);
App.HouseDetailRouter = Backbone.Router.extend({
routes: {
'': 'main',
'details/:id': 'details',
},
initialize: function() {
},
main: function() {
App.Events.trigger('show_main_view');
},
details: function(id) {
model = App.houseCollection.get(id);
App.Events.trigger('show_house', model);
},
});
路由器是否应该触发上述事件,然后让视图监听这些事件?
答案 0 :(得分:0)
这实际上并不是使用路由器的坏方法,因为它将路由器降级为简单地处理路由而不是业务逻辑。以这种方式使用路由器时可能会考虑的是让控制器对象监听路由器事件然后更新应用程序的模型。当模型改变状态时,视图将更新。