私の問題は、クエリパラメータが有効かどうかを確認するためにページのコントローラを実行する際に、迅速な確認チェックを行う必要があることです。だから、今、私はこれを行う:
if (invalid params) {
$state.go('state', {param: validParam}, {reload: true});
}
// Controller logic here to initialise the page
私はパラメータが無効な場合、有効なパラメータおよびすべてと全体のコントローラのリロードは大丈夫であるということです期待してここに行動。実際には、この$state.go
行の後でも、残りのコントローラはまだ実行しようとしています。私はこの問題を解決するために管理している唯一の方法はそうのようelse
ステートメントにコントローラのロジックを動かす行うことです
:
if (invalid params) {
$state.go('state', {param: validParam}, {reload: true});
} else {
// Controller logic here to initialise the page
}
これは動作しますが、私はそれが理想的なの多くを移動するために見つけることはありませんこのelse
ステートメントに複雑なロジックがあり、コントローラーが$state.go
で停止し、コントローラーをリロードすると予想されます。したがって、なぜ私はreload: true
を使用していますか?
これは期待どおりに起こっていない理由は何ですか?
真真が、私は答えを – germainelol
感謝を関数にコントローラをラップし、あなたに戻って取得する、それが働きました。私はこれが時々アングルのファンではない理由の一つだと思います。実際には単純なJavaScriptの問題だと、AngularまたはUI-Routerの問題だと思っていました。/facepalm – germainelol
これはちょっと助けてくれて良かった;) –