をトリガではありません私が達成したいと思っているものは発射しません。今私は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. ASP.NET MVCルーティングは、私は次のルート持っているルート
- 2. は、私は次のルートを持っているURL
- 3. 私はルートに次の行を持っているRailsの
- 4. 角度2コンポーネントは、私はときに私のルータのルートは、私は次の画面を取得するには、次のコンポーネントを、持っている
- 5. ルビー - 私はこのルートを持っている私は、テンプレート
- 6. ASP.NET MVCルーティング - 私は現在、次のルートを持っているURL
- 7. は、私はそのようなルートを持っているプロセッサ
- 8. レールは、私は2つのルートを持っている特定のルート
- 9. 私は次の式を持っているテキストフィールドを持っている
- 10. RoRのNoルートは、私は私のルートでこのコードを持って
- 11. は、私は、次のエンティティを持っているDBUnitのはCollectionTable
- 12. 私は、次のPHPコードを持っている私のデータベース
- 13. は、私は次のXMLの例を持っているJavaの
- 14. 私は、次のSQLを持ってLINQ
- 15. へのアクセスオブジェクトはのは、私は次のコードを持っているとしましょうTkinterのルート
- 16. は、私は次のXML文書を持っているのXPath
- 17. は、私は次のコードを持っているエンティティの作成
- 18. は、私は次のコードを持っているのPython
- 19. は、私は次のコードを持っているjQueryのコールバック
- 20. は、私はアンドロイドで次のデータベースを持っているAndroidの
- 21. は、私は次のタイプを持っているのF#
- 22. は、私は、次のコードを持っているJavaの
- 23. アレイのFileInfo []は、私は次のコードを持っているファイル
- 24. は、私は、次のチェックボックスを持っているjQueryのモバイル]チェックボックス
- 25. のSQLite Pythonは、私は次のコードを持っているテーブル
- 26. は、私はPythonで、次のコードを持っているNode.jsの
- 27. は、プログラム私は次のコードを持っているのDataTable
- 28. は、私は、次のHTMLファイルを持っているjqueryの
- 29. Firefoxの県は、私は、次のJSONを持っているJSON
- 30. は、私は次のコードを持っているwxPythonの
あなたの質問への回答ではありませんが、解決策(私が正しくあなたがいる場合):(再)ページをレンダリング/あなたの最も親のビュー、 'appView.render()'。 – SunnyRed