如何防止路线变化?

时间:2014-01-10 22:48:59

标签: angularjs

我有一项服务,其中我绑定了一个点击事件:

$('button').click(function() {
alert('Clicked');
return false;
});

问题是当我没有以默认的“/”路线(即“/ testroute”)开始时,单击该按钮时会导致页面网址转到“/”并且根本不会触发我的事件。当路由更改为“/”后再次单击它时,事件将正常触发。我怎么做到这样,如果我从/ testroute开始(即使它有相同的视图,不同的控制器,但共享相同的服务,警报会触发?

2 个答案:

答案 0 :(得分:2)

您可能希望使用these事件来阻止路由更改。

答案 1 :(得分:2)

使用locationChangeStart。另请阅读Andrey发布的链接。

$rootScope.$on('$locationChangeStart', function(e) {
    e.preventDefault();
  });