javascript - 在 <a> 标签中禁用 AngularJS ng-click

标签 javascript html angularjs

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

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

最佳答案

<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为0,如果不为0,则currentPage - 1 .

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

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

然后在你的 Controller 中定义它:

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

关于javascript - 在 <a> 标签中禁用 AngularJS ng-click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27254207/

相关文章:

javascript - 从命令行像字典一样解析 JSON

javascript - 如何在javascript中将HTML文件格式作为字符串

javascript - 为什么这一行会导致 Javascript 崩溃?

html - Google 字体无法在 Google Chrome 上呈现

javascript - 通过 knockout 绑定(bind)到下拉菜单?

javascript - 使用 Angular populate() 我无法访问填充字段中的数据

javascript - 简单的javascript问题-onMouseOver div背景更改

html - CSS:在页面停在视口(viewport)处重复 "noise"

javascript - Angular JS 过滤器组选择过滤器

angularjs - 使用 Jquery 调用 Angular 函数