2012-02-21 6 views

答えて

0

これらのイベントを区別する方法はありません。 Backboneのヒストリ実装は、現在のブラウザウィンドウのURLの変更を監視し、URLの変更方法を区別できません。独自のソリューションを展開する必要があります(たとえば、履歴のエントリを確認する、ユーザーのクリックに対して追加のハンドラを使用するなど)。

明示的な呼び出しをrouter.routeと区別したい場合は、'route:yourNameHere'というイベントをトリガーする2番目のパラメータとしてカスタム文字列を渡すことができます。Backbone's documentationを参照してください。

0

また別名どこかで、あなたのアプリ(ルーターの言うinitializeメソッド)

var Workspace = Backbone.Router.extend({ 
    initialize: function() { 
     var this.pageLoad = true; 
    ... 

とどこかに移動するにはfalseに設定を初期化したページのロードに変数を設定することができます。 Juliansの回答に記載されているルートイベントを聞くことができます。または、次のようなコード行を追加するだけです。

Workspace.pageLoad = false 

ルート機能に追加できます。また、変数の設定やそれぞれのルートの呼び出しを処理するための仲介者関数を作成することもできます。

関連する問題