AngularJsでルート変更イベントをキャンセルするにはどうすればよいですか?
私の現在のコードは
$rootScope.$on("$routeChangeStart", function (event, next, current) {
// do some validation checks
if(validation checks fails){
console.log("validation failed");
window.history.back(); // Cancel Route Change and stay on current page
}
});
これにより、検証が失敗した場合でも、Angular は次のテンプレートと関連データを取得し、すぐに前のビュー/ルートに戻ります。検証が失敗した場合、Angular が次のテンプレートとデータを取得したくありません。理想的には、window.history.back() が存在しないようにする必要があります。event.preventDefault() も試しましたが、使用できませんでした。