我尝试在我的控制器中执行以下操作:
$scope.$on("$routeChangeStart", function (event, next, current) {
if (!confirm('are you sure ?')) {
event.preventDefault();
}
});
但它不起作用。这不应该是这样做的方式吗?
我尝试在我的控制器中执行以下操作:
$scope.$on("$routeChangeStart", function (event, next, current) {
if (!confirm('are you sure ?')) {
event.preventDefault();
}
});
但它不起作用。这不应该是这样做的方式吗?
我会在你的链接上放一个指令,在改变路线之前应该确认。我只是在 JSFiddle 中对其进行了原型设计,我没有对其进行测试。但我认为,这应该是正确的方法。
(function (angular) {
module = angular.module('confirm', []);
ConfirmDirective = function () {
return {
restrict: 'A',
link: function (scope, elm, attrs, ctrls) {
angular.element(elm).bind('click', function (event) {
alert("Sure?");
event.preventDefault();
return false; //or true, depends on you
});
}
};
};
module.directive("confirm", ConfirmDirective);
}(angular));
检查并尝试。
问候
我最终使用了ui-router
,所以我这样做的方式是:
$scope.$on('$stateChangeStart', function (event) {
if (!confirm('are you sure ?')) {
event.preventDefault();
}
});
它有效。