1
我想处理路由器文件中的所有页面路由/转换,然后从其他功能引用视图文件中的这些功能。我尝试了几种方法,但无法从视图中访问任何路由器功能。我得到的错误是AppRouter未定义。Backbone.js和jQuery Mobile - 从视图访问路由器功能
**Code snippet from router.js:**
...
var AppRouter = Backbone.Router.extend({
routes: {
'': 'showDefault',
'index': 'showDefault',
'cart': 'showCart',
'*actions': 'defaultAction'
},
showCart: function(actions) {
console.log('show cart called');
this.changePage(cartView);
},
changePage: function(page) {
$('body').append($(page.el));
$.mobile.changePage($(page.el), { changeHash: true, transition: 'slide' });
}
...
**Code snippet from default page view js**
...
events: {
'click #showCart': 'cartPage',
},
cartPage: function(action) {
$.AppRouter.showCart;
},
...
'$ .AppRouter',就是这个问题。 – 2012-08-02 23:46:27
为什么不使用合适的href来激发路由器上的功能,例如'购物车'?如果你想在视图之间进行交谈,使用你自己的Backbone.Events实例和订阅/发布设计很好。对不起,如果我误解了你想要达到的目标。 – 2012-08-03 00:08:10