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

回到顶部