Backboneルーターが特定のルーティング機能を呼び出す前に、どのように通知を受けることができますか?Backbone.jsで経路を変更する前に機能を実行する
すべてのページをレンダリングする前に、一般的な「リセット」機能が必要です。
バインドできるイベントはありますか?
更新:私が見つけた解決策は、イベントをトリガーするためにルータまたは履歴を拡張することに基づいています。
Backboneルーターが特定のルーティング機能を呼び出す前に、どのように通知を受けることができますか?Backbone.jsで経路を変更する前に機能を実行する
すべてのページをレンダリングする前に、一般的な「リセット」機能が必要です。
バインドできるイベントはありますか?
更新:私が見つけた解決策は、イベントをトリガーするためにルータまたは履歴を拡張することに基づいています。
このプラグインは、あなたが望むことをします。これは0.5.3で動作します。まだ0.9.1で動作するかどうかはわかりません。
バックボーンの1.1.x releaseあなたがRouter.execute方法で望むものを持っているように見えます:
MyRouter = Backbone.Router.extend({
routes: {},
// fired before every route.
execute: function(callback, args) {
// ...
}
});
私は、コンストラクタでこれを使用して」いますし、それがこの
正常に動作しています。 bind( "all"、this.ACL);機能は、それがすべてのルート変更の前に呼び出されますが、あなたは正しく、他の一致するルートを実行するために、コールバックに引数を渡す必要があります存在して実行するとここで
ACLは機能
です。
MyRouter = Backbone.Router.extend({
routes: {},
// fired before every route.
execute: function(callback, args, name) {
//your logic
if (callback) callback.apply(this, args); //this must be called to pass to next route
},
});
は、どのようにそれが問題を解決した理由について、ソリューションに関するいくつかのコメントを追加してください。 –
私はこの回答でこの問題の解決策を持っている:http://stackoverflow.com/a/16298966/2330244 –