我已尝试在我的控制器中执行以下操作:
$scope.$on("$routeChangeStart",function (event,next,current) { if (!confirm('are you sure ?')) { event.preventDefault(); } });
但它不起作用.那不应该是这样做的吗?
解决方法
我会在你的链接上加上一个指令,在更改路线之前应该确认.
我只是在JSFiddle中制作原型,我没有测试它.但我认为,这应该是正确的方法.
我只是在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));
检查并试一试.
问候