0
私はrouter.navigate(['/ some-route'])を処理するより良い方法を探しています。角4:router.navigate()はコードの実行残りを確実に停止しません
私のコードは、両方のにconsole.logは、ナビゲーションが呼び出されても記録されます、上記のコードで
以下class SomeComponent implements OnInit, AfterViewInit {
ngOnInit() {
...
router.navigate(['/some-route']);
...
console.log('This line will be logged.');
}
ngAfterViewInit() {
...
console.log('This line will also be logged.');
...
}
}
ようなものです。
私は(それがrouter.navigateとして起こることを知っている)は、JavaScriptの動作に応じただけで機能していない終了文ですと動作します。
例外として、ブラウザコンソールにはログはありません。
上記のシナリオを処理するためのより良い解決方法をお手伝いして、残りのコードがナビゲーション後に実行されないようにすることはできますか?
迅速な対応をありがとうございます。私の問題は、私のコンポーネントでは、コンポーネントビューが依存しており、ロジックに基づいてリダイレクトが行われている、非同期的に呼ばれる重い論理的実装がいくつかあることです。ここで** AuthGuard **に移動すると、コンポーネントで同じ実装を再度実行する必要があります。 –
これらの論理的な実装を新しいサービスに移行し、AuthGuard内で簡単に使用できるようにすることをお勧めします。 –