如果您单击链接但我的骨干路由器工作正常,但在尝试直接访问URL或刷新页面时不起作用.
路由器
var app = app || {};
var appRouter = Backbone.Router.extend({
routes: {
"blog": "blog",
"blog/post/:id": "blogPost",
"faqs": "faqs",
"*other": "defaultRoute"
}
});
app.Router = new appRouter();
Backbone.history.start();
Run Code Online (Sandbox Code Playgroud)
应用
var app = app || {};
var view = new app.AppView();
app.Router.on('route:defaultRoute', function() {
console.log("Default Route");
}
app.Router.on('route:blog', function() {
console.log("Blog Route");
view.showBlog();
}
Run Code Online (Sandbox Code Playgroud)
每当路由被触发时我都会登录到控制台,但是当您直接访问URL或刷新页面时,不会触发任何路由,甚至不会触发默认路由.
Backbone.history在设置侦听器之前启动,这意味着它们无法对页面加载时发生的初始路由做出反应.
将Backbone.history.start();您的设置后,至少你的路由器的定义,或路线,你应该是好去.
var appRouter = Backbone.Router.extend({
routes: {
"blog": "blog",
"*other": "defaultRoute"
},
blog: function() {},
defaultRoute: function() {}
});
app.Router = new appRouter();
app.Router.on('route:defaultRoute', function() {
console.log("Default Route");
});
app.Router.on('route:blog', function() {
console.log("Blog Route");
});
Backbone.history.start();
Run Code Online (Sandbox Code Playgroud)
和演示http://jsfiddle.net/nikoshr/k3Lcxwq2/
| 归档时间: |
|
| 查看次数: |
1399 次 |
| 最近记录: |