AngularJS $ locationChangeStart从未调用过

时间:2016-08-08 13:19:20

标签: javascript angularjs

我有一个非常简单的代码,使用角度中的$ location服务,但不起作用。

angular.module("app",[]).run(function($rootScope) {
    var $offFunction = $rootScope.$on("$locationChangeStart", function(e) {
      if (confirm("Are you sure")) 
        return $offFunction();
      return e.preventDefault();
  });
});

我只是想确认用户是否要离开该页面,但如果我尝试更改栏中的地址或按下浏览器中的后退按钮,它就无法工作。

这是小提琴手:http://jsfiddle.net/5dnm2/19/

1 个答案:

答案 0 :(得分:0)

您必须为初始化提供程序添加$ location。 访问http://jsfiddle.net/5dnm2/41/ run(function($rootScope, $location) {...})