2014-12-02 89 views
1

我可以禁用AngularJS中的ng-disabled按鈕。禁用AngularJS ng-click <a>標籤

<button ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1"> 
    Previous 
</button> 

但是當我使用<a>標籤時,我該怎麼做同樣的事?

這不是工作

<a ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1"> 
    Previous 
</a> 

回答

4

<a>標籤沒有禁用狀態。看到這裏:http://www.w3schools.com/tags/tag_a.asp

所以你必須有一個條件,檢查是否應該改變currentPage變量。

您可以使用三角運算符,這些運算符可用於Angular 1.1.5以來的版本。

<a ng-click="currentPage = currentPage ? currentPage - 1 : 0"> 
    Previous 
</a> 

條件基本上是說currentPage是否應爲0 currentPage爲0,如果不是0,則currentPage - 1

請注意,Angular並不熱衷於在HTML中使用控制流程語句,請參閱https://docs.angularjs.org/guide/expression中的無控制流程語句。而是應該創建一個函數,像這樣:

<a ng-click="prevPage();"> 
    Previous 
</a> 

然後在你的控制器定義它:

$scope.prevPage = function(){ 
    if ($scope.currentPage > 0) $scope.currentPage = $scope.currentPage - 1; 
}; 
+1

嘿,只是打字出來,但是你一定要首先。給予好評。 – deitch 2014-12-02 16:31:28

+0

謝謝!完美解決方案+ VoteUp – 2014-12-02 16:41:23