AngularJs-取消路线更改事件
如何在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()但没有用。
回答:
代替$routeChangeStart
使用$locationChangeStart
例:
$scope.$on('$locationChangeStart', function(event, next, current) { if ($scope.form.$invalid) {
event.preventDefault();
}
});
以上是 AngularJs-取消路线更改事件 的全部内容, 来源链接: utcz.com/qa/397841.html