我有2个链接:
<a href="#link1">First</a>
<a href="#link2">Second</a>
和2个控制器:
app.controller('firstCtrl', function($scope) {
$scope.$on('$locationChangeStart', function (event, nextPage, currentPage) {
alert("ok");
}
app.controller('secondCtrl', function() {}
当我从第二个链接转到第一个链接时,我看到警报。如果我留在第一个链接(= firstCtrl)并再次点击第一个链接,如何添加事件?
注意:我想获得新旧网址
答案 0 :(得分:1)
如果您只想在每次单击第一个链接时触发警报,则可能需要使用ng-click
属性而不是$on('$locationChangeStart')
事件侦听器,只有在URL路径更改时才会触发:
<强> HTML 强>
<div ng-controller="firstCtrl">
<a ng-click="link1()">First</a>
</div>
<div ng-controller="secondCtrl">
<a ng-click="link2()">Second</a>
</div>
<强> JS 强>
app.controller('firstCtrl', function($scope) {
$scope.link1 = function() {
alert("ok");
}
});
app.controller('secondCtrl', function() {...});
实际上,对于这种情况,最好更改指向按钮的链接,以便用户希望这些元素保留一些本地操作而不是新页面(部分)。