在<a> tag</a>中禁用AngularJS ng-click

时间:2014-12-02 16:26:36

标签: javascript html angularjs

我可以在AngularJS中禁用ng-disabled的按钮。

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

1 个答案:

答案 0 :(得分: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如果currentPage为0,currentPage - 1应为0,如果不是0,则为<a ng-click="prevPage();"> Previous </a>

请注意,Angular并不热衷于在HTML中使用控制流语句,请参阅此处的“无控制流语句”https://docs.angularjs.org/guide/expression。你应该创建一个像这样的函数:

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

然后在你的控制器中定义它:

{{1}}