我是Angular的新手并且一直试图创建一个动态表。
用户输入他想要的列号,然后他可以根据需要向
我在每列的末尾提供了一个“添加”按钮,用于向该特定列添加新行。
我的代码看起来有点像这样:
<table>
<tr>
<th ng-repeat="x in setno"> SET {{x.number}}</th>
</tr>
<tr ng-repeat="z in selected">
<td> </td>
</tr>
<tr>
<td ng-repeat="x in setno">
<button ng-click="selected.push({})"> add </button>
</td>
</tr>
</table>
其中, setno 是包含数字的列表:
$scope.setno[{id:"a", number:"1"},{id:"b", number:"2"},...];
和选择具有类似的结构。
问题在于,当我点击任意列的“ add ”按钮时,新行将添加到所有列。
我想要的是,只有一个新行被添加到单击了“ add ”按钮的行。
如何知道点击了哪个“添加”按钮?
答案 0 :(得分:0)
我怎么知道谁&#34;添加&#34;按钮已被点击?
您需要访问目标转发器的当前$index
。现在,我不确定您尝试定位的是哪个,但您可以将ng-repeater
$index
存储为另一个变量,以便使用以下内容从内置中继器进行访问语法:
<!-- outer loop -->
<div ng-repeat="(idxA, item) in items)">
<!-- inner loop -->
<div ng-repeat"(idxB, obj) in item.objs">
<ul>
<!-- another inner loop -->
<li ng-repeat="li in obj.pts">
在上面的代码中,idxA
将与外部循环$index
相同,idxB
是内部循环$index
,因此上。然后,您只需将索引(例如idxA
或idxB
)传递给您的方法。
资源: