📜  如何基于ng-click在表中的ng-repeat中隐藏或显示一条记录?(1)

📅  最后修改于: 2023-12-03 14:52:59.606000             🧑  作者: Mango

如何基于 ng-click 在表中的 ng-repeat 中隐藏或显示一条记录?

在 AngularJS 中, ng-repeat 是一个非常有用的指令,允许我们在 HTML 模板中循环遍历一个数组并为每个元素创建一个模板。在例如表格之类的情况下,我们可能需要在用户点击某个按钮时隐藏或显示表中的某些行。这时就需要用到 ng-click 指令了。

以下是如何在表格中使用 ng-repeat 和 ng-click 指令控制隐藏/显示记录的示例:

  1. HTML 模板
<table>
  <thead>
    <tr>
      <th>ID</th>
      <th>名称</th>
      <th>动作</th>
    </tr>
  </thead>
  <tbody>
    <tr ng-repeat="item in items" ng-hide="item.hidden">
      <td>{{item.id}}</td>
      <td>{{item.name}}</td>
      <td><button ng-click="hideItem(item)">隐藏</button></td>
    </tr>
  </tbody>
</table>
  1. AngularJS 控制器
angular.module('myApp', [])
  .controller('myCtrl', function($scope) {
    $scope.items = [
      {id: 1, name: 'Apple', hidden: false},
      {id: 2, name: 'Banana', hidden: false},
      {id: 3, name: 'Cherry', hidden: false},
      {id: 4, name: 'Durian', hidden: false},
    ];

    $scope.hideItem = function(item) {
      item.hidden = true;
    };
  });

在这个例子中,我们为每个表格行添加了 ng-hide 指令,如果该行的 hidden 属性为 true,那么这行记录将被隐藏。同时,在每个“隐藏”按钮上使用了 ng-click 指令来调用 hideItem 函数,这个函数将会将传入的 item 对象的 hidden 属性设置为 true。

这样,当用户点击“隐藏”按钮时,就会触发 hideItem 函数,隐藏当前行记录。

以上就是基于 ng-click 控制隐藏/显示表格记录的示例。通过这个例子,您可以理解 ng-repeat 和 ng-click 指令的用法,以及在 AngularJS 应用程序中如何操作数据和界面的方法。