現在、最初のEmberアプリを構築しており、Ember.Routerを使用してURLからパラメーターをフェッチし、正しい状態を設定して、いくつかのアウトレットを接続しています。
私の悩みの種は、URLの単一のパラメーターが変更されると、ルーターログに、アプリがすべてのビューを完全に再ルーティングして再インスタンス化することを示していることです(トランジションの混乱など)。
例:
GET /#/myapp/from/2012-01-01/to/2012-12-31
ログ出力:
STATEMANAGER: Entering root ember.js:18
STATEMANAGER: Sending event 'navigateAway' to state root. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root. ember.js:18
STATEMANAGER: Sending event 'routePath' to state root. ember.js:18
STATEMANAGER: Entering root.main ember.js:18
STATEMANAGER: Entering root.main.range ember.js:18
STATEMANAGER: Entering root.main.range.index ember.js:18
次に、ハッシュを変更します(したがって、新しいリクエストはありません)
/#/myapp/from/2012-06-01/to/2012-12-31
ログ出力:
STATEMANAGER: Sending event 'navigateAway' to state root.main.range.index. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root.main.range.index. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root.main.range. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root.main. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root. ember.js:18
STATEMANAGER: Sending event 'routePath' to state root. ember.js:18
STATEMANAGER: Entering root.main ember.js:18
STATEMANAGER: Entering root.main.range ember.js:18
STATEMANAGER: Entering root.main.range.index ember.js:18
これは少し冗長に見えるので、私はここで何かが欠けていますか?それだけでなく、アプリには美しく移行するグラフがあり、ユーザーが押すたびに、back
またはforward
ブラウザで完全に再読み込みされるようになりました。