0

1)JavaScriptアプリケーションに使用する必要があるJavaScriptハッシュ変更/履歴ライブラリ/メソッドはどれですか?
2)そして、その方法を使用してこれら3つのことをどのように達成しますか?

A)ページが読み込まれたら、URLハッシュ/パラメータを解析して、アプリケーションの初期状態を設定したいと思います。
具体的には、私のアプリケーションは、selectedCountry、selectedYearなどの属性を持つ2つのモデルを持つBackboneコレクションで構成されています
(これは複雑な状態を持つ非常にカスタマイズされた視覚化アプリであるため、Backbone.Routerを使用できないと思いますか?)

B)アプリの状態を対応して更新できるハッシュチェンジリスナーなどを設定したい

C)バックボーンコレクションの変更イベントで、URLを更新したいと思います。重要:フィードバックループが発生しないように、これを実行している間、hashchangeリスナーを一時的に削除したいと思います。

注:アプリはすでに一部のHTML5テクノロジーに依存しているため、ソリューションは古いブラウザーと互換性がある必要はありません...しかし、以前にこれに苦労したことがあるため、「フィードバックループ」の部分は重要です...

ありがとう :)

4

1 に答える 1

3

すでにBackboneを使用しているので、BackboneのRouterオブジェクトに固執します。何か新しいものをミックスに取り入れようとするよりも、アプリですでに利用可能なものを使用する方が簡単です。

フィードバックループの問題については、コードからルーターメソッドを起動しないことでこれを解決しました。

その要点は、JavaScriptオブジェクトにアプリケーションの状態を制御させ、作業を行わせることです。を呼び出すとき、2番目の引数としてrouter.navigate渡すことはありません。アプリの状態変化に応じてtrue呼び出すだけで、ブラウザウィンドウのハッシュフラグメントを更新します。router.navigateこれが重要です。これは、アプリケーションの状態が変化したことに対する純粋な応答です。router.navigateアプリの状態を変更するために使用することはありません。

お役に立てば幸い

于 2011-10-14T13:59:42.883 に答える