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 に答える