をトリガではありません私が達成したいと思っているものは発射しません。今私はBackboneのソース(https://github.com/documentcloud/backbone/blob/master/backbone.js#L1027)を見てきました。それは私がやろうとしていることをサポートしていませんが、これを達成するための何らかの方法がありますか?私はこのように、あなたのengage.appオブジェクトにイベントマネージャを作成しますバックボーンルータは、私は、次のルータを持っているルート
答えて
:
var vent = _.extend({}, Backbone.Events);
を次に、あなたのルータには、受信ボックスのルートのためにこれを行う:
vent.trigger('inbox:show', page);
とで、そのイベントを処理その中にあったコードを経路ハンドラ内に置いておきます。
appRouter.navigate
を呼び出す代わりに、同じイベントをトリガーすることができます。
また、そのハンドラから、trueを渡すことなくappRouter.navigate('inbox');
を呼び出すことができます。これで、ルートを強制することなく、アプリをあなたが望む状態にすることができます。
それは私がやったことです。いくつか余分なコードを作成するが、半分まともな解決策のように思える。 –
@JasonStonebraker [このリンク](http://lostechies.com/derickbailey/2011/08/28/dont-execute-a-backbone-js-route-handler-from-your-code/)はこのアイデアを説明しています。このパターンは私のためにうまくいきました。ルータには単一のジョブが残っています。これはブラウザURLの変更に基づいてルーティングされます。この質問は、すでにそのルートにいるときにルートをトリガーしようとすることに関するものでした。このソリューションは回避策(IMO)ではなく、より良い設計です。 –
別のオプションは、ちょうど限り予想通り、私はappRouter.navigate('inbox', {trigger: true});
作品を使用してバックボーン0.9.10のとおり...言うことができるように
appRouter.inbox();
メソッドを呼び出すことです。
バックボーンのソースにはまだこれがあります: 'if(this.fragment === fragment)return;'だから、Gavinの問題はまだ存在すると思います。また、sourceには次のようなコメントがあります: 'オプションオブジェクトには、ルートコールバックを開始する(通常は望ましくない)場合は、 'trigger:true'を含めることができます。 –
- 1. は、ルータ反応し、私は私のアプリの主成分の次のルートを持っている各ルート要素
- 2. ASP.NET MVCルーティングは、私は次のルート持っているルート
- 3. 反応-ルータ-reduxが、私は、次のファイルを持っている
- 4. キープの@文字は、私は次のルートを持っている
- 5. は、私は次のルート設定を持つルータ
- 6. は、私は次のルートを持っているURL
- 7. 私はルートに次の行を持っているRailsの
- 8. 私はExpressプロジェクトで、次のルートを持っているエクスプレス
- 9. 角度ルータは、私がルートを持って解決(S)
- 10. 角度2コンポーネントは、私はときに私のルータのルートは、私は次の画面を取得するには、次のコンポーネントを、持っている
- 11. は、ルータが、私は私のルートは、次のように設定している
- 12. VUE-ルータは、だから私はこのようなルートを持っているネストされたルート
- 13. は、私は、次のXML文書を持っている別のルートのC#
- 14. は、私は次のように定義のルートを持っている
- 15. 私は、私は次の行を持っているメイクファイルを、持っている
- 16. は、私は次のルートを持っているASP.NETコアプロジェクトでASP.NET CORE
- 17. ルビー - 私はこのルートを持っている私は、テンプレート
- 18. 私はルートの次のような構成を持つルータのイベントで
- 19. ルータは、私はルーターの設定のための次のコードを持って
- 20. laravelコントローラは、コンパクトは、私が持っている私のルートで
- 21. ASP.NET MVCルーティング - 私は現在、次のルートを持っているURL
- 22. ASP.NET MVCのルートは、私は2つの異なるルートを持っている
- 23. は、私はそのようなルートを持っているプロセッサ
- 24. レールは、私は2つのルートを持っている特定のルート
- 25. Laravel 5.5ルートの順序は、私はこれらのルートを持っている
- 26. どのように私は、次のものを持って、角2ルータ
- 27. パラメータは、私は私のlaravelアプリケーションで私のアンカータグに次のコードを持っているルート方法
- 28. 私はルータを持っている角度
- 29. バックボーンルータの次のコールバック
- 30. Angular2は* ngIfルートは、私は、ルート/メイン/アイテム持っている特定のparam
あなたの質問への回答ではありませんが、解決策(私が正しくあなたがいる場合):(再)ページをレンダリング/あなたの最も親のビュー、 'appView.render()'。 – SunnyRed