私は次のものを持っています:
function activate(routeData) {
// make dataservice call, evaluate results here. If condition is met, reroute:
if (true){
router.navigateTo("#/someRoute");
}
alert ("should not be shown");
}
ただし、アラートが発生すると、ビューが変更されます。
現在の項目から完全に離れて、その vm 内のそれ以上のコードがヒットしないようにするにはどうすればよいですか?
アップデート:
使用してみguardroute
ましたが、再ルーティングするかどうかを決定するデータを返すデータサービスを呼び出すには、viewModel をアクティブにする必要があります。Guardroute を使用すると、データサービスが呼び出されるのを完全に防ぐことができます (アクティブ化関数では何もヒットしないため)。
私もif
ブロックから戻ってみましたが、これはまだview / viewAttached / etcをロードしているため、UXに不具合があります。