我最近一直在使用Backbone.Marionette,在尝试模拟单页Web应用程序时遇到了一些问题。我创建了一个Plunker,它有一个动态生成的列表项菜单。我的目标是在各种菜单项之间设置路由,以便我可以动态更改内容。
只是看它是否有效我控制台应该记录路由器中的任何活动。可悲的是,没有任何事情发生,我不知道我做错了什么。 (我希望实现的目标:My previous test in AngularJS)。
我希望一些经验丰富的Backbone用户可以帮助我。
答案 0 :(得分:0)
您没有使用Marionette控制器,因此请将RoutingAPI定义更改为:
var RoutingAPI = Marionette.Controller.extend({
home: function(){
console.log("Page: 'home'.");
},
news: function(){
console.log("Page: 'news'.");
},
about: function(){
console.log("Page: 'about'.");
},
contact: function(){
console.log("Page: 'contact'.");
}
});
像这样定义您的路由器:
ApplicationRouter = Backbone.Marionette.AppRouter.extend({
appRoutes: {
"": "home",
"home": "home",
"news": "news",
"about": "about",
"contact": "contact"
}
});
并像这样使用
routingManager.router = new ApplicationRouter({controller : new RoutingAPI()});
Backbone.history.start();
请注意,您还缺少Backbone.history.start();线。