2015-04-30 26 views
0

我有2個鏈接:如何在AngularJS中點擊具有相同網址的鏈接時捕獲事件?

<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() {} 

當我從第二個鏈接第一個鏈接去,我看到警報。如何添加事件,如果我留在1st鏈接(= firstCtrl)並再次點擊1st鏈接?

注意:我想獲得新的和舊的URL

+0

我不認爲有可能與位置更改事件做到這一點。最近我需要類似的東西,但只用於主導航,所以我用了ng-click。 –

回答

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() {...}); 

其實,對於這種情況,最好是改變的鏈接按鈕,這樣用戶會希望這些元素來舉辦一些本地操作,而不是新的頁面(諧音)。

相關問題