我有下一个问题。

我有<a>元素的不同行为。我有一个处理2个事件的 Controller :

$scope.$on("$destroy", function () {
    console.log("$destroy");
});

$scope.$on("$locationChangeStart", function () {
    console.log("$locationChangeStart");
});

有时会首先触发 $ locationChangeStart 事件,但有时会首先触发 $ destroy 事件。

我需要防止更改页面,因此需要首先触发 $ locationChangeStart

拜托,有人有什么想法,为什么不同的<a>具有不同的事件顺序?

UPD
我在页面的不同部分使用了相同的<a>元素
<a href="#/overview">test</a>

最佳答案

如果要防止更改页面,则先启动哪个页面都没有关系。

在您的 $ locationChangeStart 中,添加事件对象:

$scope.$on("$locationChangeStart", function (event) {
    event.preventDefault(); // will prevent the location change
});

10-06 00:31