0

如果我通过单击诸如 的链接导航到视图,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");

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

4

1 回答 1

2

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

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

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

于 2013-01-23T13:17:00.970 回答