用Backbone直接调用url

时间:2013-01-23 12:51:51

标签: javascript backbone.js

如果我通过点击127.0.0.1/#/project/1等链接导航到视图,则会显示正确的视图。但是,如果我直接在浏览器中调用此URL(或点击刷新),则不会显示该视图。这种行为可能是什么原因?

我设置路由器的方式如下:

var AppRouter = Backbone.Router.extend({
      routes: { },
      initialize:function () { }
});
var app = new AppRouter();

然后在每个模块中(我使用的是require.js),将添加一个路由和处理程序

app.route("project/:id", "showProject");

可能是路由尚未注册,因此不会调用回调吗?

1 个答案:

答案 0 :(得分:2)

确保在加载/实例化所有路由器并定义路由后调用Backbone.history.start()http://backbonejs.org/#History-start

或者,您可以使用Backbone.history.stop()停止历史记录,然后重新开始。然后将添加添加的路线。

顺便说一下,您可以测试历史记录当前是否以布尔值Backbone.History.started开始(注意大写“H”是必要的)。