我尝试在我的控制器中执行以下操作:
$scope.$on("$routeChangeStart", function (event, next, current) {
if (!confirm('are you sure ?')) {
event.preventDefault();
}
});
但它不起作用。那不应该是这样做的吗?
答案 0 :(得分:0)
我会在您的链接上放置一个指令,在更改路线之前应该确认。 我只是在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));
检查并尝试。
此致
答案 1 :(得分:0)
我最终使用ui-router
,所以我这样做的方式是:
$scope.$on('$stateChangeStart', function (event) {
if (!confirm('are you sure ?')) {
event.preventDefault();
}
});
它有效。