gpt4 book ai didi

backbone.js - Backbone 路由器无法直接访问

转载 作者:行者123 更新时间:2023-12-05 01:02:06 29 4
gpt4 key购买 nike

如果您单击链接,我的主干路由器工作正常,但在尝试直接访问 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();

应用程序
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();
}

每当触发路由时,我都会登录到控制台,但是当您直接访问 url 或刷新页面时,不会触发任何路由,甚至不会触发默认路由。

最佳答案

您开始 Backbone.history在您设置监听器之前,这意味着它们无法对页面加载时发生的初始路由使用react。

搬家 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();

和一个演示 http://jsfiddle.net/nikoshr/k3Lcxwq2/

关于backbone.js - Backbone 路由器无法直接访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27058675/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com