我是Marionette的新手,并坚持使用App建立AppRouter的概念。我有启动路由器的代码,它可以工作:
var App = new Marionette.Application({
onStart: function(options) {
console.log('this works');
}
});
然后我创建了一个控制器:
var Controller = Marionette.Object.extend({
main_route: function() {
console.log('I NEVER GET HERE');
}
});
我的路由器:
var AppRouter = Marionette.AppRouter.extend({
controller: new Controller,
appRoutes: {
'foo': 'main_route'
}
});
我调用了App.start(),它以输出启动,但是当我转到localhost时,我的路由器代码没有被调用:3000 /#foo
如何告诉我的应用程序使用我的路由器?
答案 0 :(得分:1)
您需要调用Backbone.history.start()来启用对'hashchange'事件的监视。这应该在您的路由器和路由设置完成后完成。将其添加到应用程序的onStart函数中。
更多细节: