我有一个表格,其中的行使用各自的范围变量进行条件渲染:
<tr ng-repeat="row in data">
<input type="text" data-ng-show="editMode" data-ng-model="row.smth"/>
因此输入仅在行范围变量 editMode
设置为 true 时显示,它工作得很好。
现在我想动态添加另一行:
$scope.data.push(my_new_row)
这也很好用。但是后来我想将该新行的范围变量 editMode
设置为某个值,但我没有主意。
我知道有一种未记录的方法可以使用 $$childHead 等,但这不是很优雅。
最佳答案
您可以使用 $index 跟踪项目。您还可以使用索引来决定显示/隐藏项目。您可以通过使用显示/隐藏逻辑实现一个函数并传入索引来做到这一点。例如:
<div ng-repeat="row in data track by $index">
<input type="text" data-ng-show="GetEditMode($index)" ng-model="row.smth[$index]">
</div>
看看this .
关于javascript - 访问 ng-repeat 的项目范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30948054/