2014-12-02 2 views
1

Я могу отключить кнопку с ng-disabled в AngularJS.disable AngularJS ng-click in <a> tag

<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.

Вы можете использовать тройные операторы, доступные с углового 1.1.5.

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

Условие в основном говорят, что currentPage должен быть 0, если currentPage является 0, если это не 0, то currentPage - 1.

Обратите внимание, что Angular не заинтересован в наличии инструкций потока управления в вашем HTML-документе, см. Здесь No Control Flow Statement 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

Хех, просто печатая это, но вы получили к нему первым. Upvote. – deitch

+0

Спасибо! Отличное решение! + VoteUp –

Смежные вопросы