2013-04-05 3 views
1

내 앱을 리팩토링 중이므로 라우터가 응답하지 않습니다. 나는 그것이 일련의 사건들과 관련이있을 것이라고 생각한다. 그러나 그것은 추측이다. 어떤 아이디어?Marionette AppRouter가 실행되지 않습니다.

init.js로

define(function(require) { 
    'use strict'; 
    var app = (require('app')()), 
     Backbone = require('backbone'); 
    app.modules = {}; 
    require('modules/main/main'); 
    app.on('initialize:after', function() { 
     if (Backbone.history) { 
      Backbone.history.start(); 
     } 
    }); 
    app.start(); 
}); 

모듈/주/main.js

define(function(require) { 
    'use strict'; 
    var app = (require('app')()), 
     MainController = require('widgets/main/controller'); 
    app.addInitializer(function() { 
     app.modules.main = new MainController(); 
    }); 
}); 

위젯/주/controller.js는

define(function(require) { 
    'use strict'; 
    var app = (require('app')()), 
     Marionette = require('marionette'), 
     View = require('./view'); 
    return Marionette.Controller.extend({ 
     initialize: function(options) { 
      this.router = new Marionette.AppRouter.extend({ 
       appRoutes: {'apps': 'showApp'}, 
       controller: this 
      }); 
     }, 
     showApp: function() { 
      console.log('route fired!'); 
     } 
    }); 
}); 

답변

0

나는 많은 require 비동기에서 문제를 생각한다 요청. 예를 들어 main.js와 같은 파일을 변경하려고합니다.

`

define(['app','widgets/main/controller'], function(App, Ctr){ 

    App.addInitializer(function() { 
     app.modules.main = new Ctr; 
    }); 

}); 

`

관련 문제