場合によってはURLパラメータを(コードを介して)更新し、イベントをトリガーする必要はありません。しかし、ユーザーがブラウザの戻るボタンを使用して戻る場合や、urlパラメータを手動で変更する場合は、引き続き特定のアクションをトリガする必要があります。
UI-Router v1.xより前は、この種のものに対して$stateChangeSuccess
イベントと組み合わせて{ notify: false }
を使用しました。しかし今ではdynamic paramsが行く方法です私はこの仕事をこれ以上行う方法を理解できません。
ルートのすべてのパラメータを動的に定義しましたが、$state.go(".", params)
を実行すると、コントローラがリフレッシュされません。どちらが期待されている。しかし、$transition.onSuccess
は依然としてやや奇妙なことに気付きます。この場合、このイベントが発生するとは思われません。
戻るボタンを使用して戻るとき、または手動でパラメータを変更したときも同じことが起こります。コントローラはリフレッシュされず、$transition.onSuccess
が起動します。
私の主な問題は、あるイベントがユーザから来たもので、もう1つがコードから来たものであることをどのように知っているかです。私はここで何が欠けていますか?私はonSuccessコールバックの遷移パラメタをチェックしましたが、それで私に役立つものは見つかりませんでした。別のイベント/フックを使用する必要がありますか、これは単に最新のUI-Routerでこれ以上使用できませんか?
Thnx。