1
라우터 파일에서 모든 페이지 라우팅/전환을 처리하고 다른 기능의보기 파일에서 해당 기능을 참조하려고합니다. 몇 가지 방법을 시도했지만보기에서 라우터 기능에 액세스 할 수 없습니다. Im 얻는 중 오류 AppRouter 정의되지 않았습니다.Backbone.js 및 jQuery Mobile -보기에서 라우터 기능을 액세스합니다.
window.appRouter = new AppRouter();
: 당신은 코드의 비트를 찾아 당신은 세계적으로 액세스 할 수있는 무언가로 다시 작성해야
new AppRouter();
:
**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', 문제가 있습니다. –
라우터의 기능을 실행하는 데 적절한 href를 사용하지 않는 이유는 무엇입니까 (예 : '카트')? 보기간에 대화를 나누려면 자체 Backbone.Events 인스턴스를 사용하고 구독/게시 디자인을 사용하는 것이 좋습니다. 미안 당신이 습득하려고하는 것을 오해 한 경우. –