$ locationChangeStart不再被调用

时间:2016-03-11 16:41:31

标签: javascript

这一切都运行良好很长一段时间,但刚刚停止我除了自己为什么$ locationChangeStart不再被调用。

我唯一改变的是将测试转换为使用Jasmine 2.0.1框架。但即使我从Visual Studio项目中删除该框架,它仍然无法正常工作。奇怪的是,它有时会在测试中被调用。

有些东西在干扰这个,但是什么?我调试了$ on方法,我可以看到监听器被添加到监听器集合中。

非常感谢任何提示。谢谢,贝丝

这是我在控制器文件开头的代码。在调试中,我看到正在加载侦听器但是它永远不会被调用。

app.controller('someXYZCtrl',['$ scope','resourceFactory','$ http','$ routeParams','$ filter','$ location','$ timeout',函数someXYZCtrl($ scope,resourceFactory,$ http,$ routeParams,$ filter,$ location,$ timeout){

//在用户离开页面时提醒用户

 var navigationConfirmed = false;
 $scope.$on('$locationChangeStart', function (event, next, current) {
 if (navigationConfirmed) {
            return;
 }

 event.preventDefault();
  bootbox.confirm(" ...... ", function (result) {
            if (result) {
                navigationConfirmed = true;
                $scope.$apply(function () {
                    var hash = next.substr(next.indexOf('#') + 1);
                    $location.path(hash);
                });

            }
        });
    });

0 个答案:

没有答案