あなたはAngular.jsで$スコープ変数を操作するためのコントローラを持っている場合は、への慣用的な方法があります:再初期化Angular.jsコントローラ
- コントローラの$スコープをリセットし、
- 再起動コントローラの初期化は、 ?
複雑なコントローラでは、すべての変数を初期値にリセットする必要はありません。コントローラやスコープの単純な再初期化が本当に必要な場合は特に便利です。しかし、同じURLに再度$location.path()
で移動することは役に立ちません。
編集:$window.location
ハックを使用できないとします。これはChromeパッケージアプリケーションのCSPに違反するためです。
私は同意しない、私はこれは完全にエレガントなソリューションだと思います。ある意味では、ページをリロードしているので、$ route.reload()は非常に意味があります。 – wvdz
@popovitsj:これは悪い習慣とはみなされないことを知っているのは素晴らしいことですが、私はまだ本当に確信していません。意味的に '$ route.reload()'はページのリロードに似ているので、このソリューションには魅力があるのは間違いありませんが、依然として多くのオーバーヘッドが発生します。これは、特定のユースケースの多くでは無視されるかもしれませんが(当時は間違いなく)、このオーバーヘッドを作成しないように、同じようにクリーンなメソッドを用意するのは良いことです。 – bfncs
oninitの内容をプライベートメソッド( 'init')で移動してoninitから呼び出し、最後に同じプライベートメソッドを使用して何度もコントローラをリセットできますか? – JVM