我可以在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>
答案 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}}