angularjs:防止路线变化

前端之家收集整理的这篇文章主要介绍了angularjs:防止路线变化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已尝试在我的控制器中执行以下操作:

$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));

http://jsfiddle.net/L6xBF/3/

检查并试一试.

问候

猜你在找的Angularjs相关文章