1. ホーム
  2. backbone.js

[解決済み] Backbone.js:現在のルートを取得する

2022-06-04 13:55:01

質問

Backboneを使用して、現在のルート名を取得することは可能でしょうか?ルート変更イベントにバインドする方法は知っていますが、変更の間に他の時間に現在のルートを決定することができるようにしたいです。

どのように解決するのですか?

アプリケーションでRouterをインスタンス化している場合、次の行は現在のフラグメントを返します。

Backbone.history.getFragment();

からの Backbone.jsのドキュメント :

" [...] History は、hashchange イベントや pushState を処理し、適切なルートをマッチングし、コールバックをトリガーするグローバルルーター(フレームごと)として機能します。これらを自分で作成する必要はないはずです。 自動的に作成されるBackbone.historyへの参照を使用する必要があります。 を使用する場合、Routeを持つRouterを使用します。 [...]"

そのフラグメントにバインドされている関数名が必要な場合は、Routerのスコープ内でこのようなものを作ることができます。

alert( this.routes[Backbone.history.getFragment()] );

または、ルータの外からこのように。

alert( myRouter.routes[Backbone.history.getFragment()] );