我想访问在ng-table
的ng-repeat
中点击的'事件',但我不知道如何在我的控制器中访问这个特定的'事件'('事件'的索引)。
下面是相关的HTML:
<table ng-table="events.tableParams">
<tr ng-repeat="event in $data">
<td>{{event.state}}</td>
<td>
<ul>
<li ng-repeat="option in event.options">
<a href="" ng-click="events.performAction(option.value, event.id, option.type)">{{option.label}}</a>
</li>
</ul>
</td>
</tr>
</table>
…以及控制器的相关部分:
vm.performAction = function(action, id, type) {
if (action === 'cancel') {
event.state = 'canceling';
}
};
event.state
在这个控制器代码中显然是不正确的,但突出了我试图在我的HTML中更新的内容。
正如您提到的,event.state = 'canceling';
在您的控制器中是不正确的。从你的问题来看,当用户单击列表时,看起来好像你正在尝试更新<td>{{event.state}}</td>
。
<td>{{event.state}}</td>
被绑定到$data上,而<tr ng-repeat="event in $data">
又被绑定到events.tableParams
上。因此,在控制器中,您应该更新$scope.events.tableParams.state
.