如何在ng-table ng-repeat中访问对象的属性

时间:2015-09-18 15:16:24

标签: javascript angularjs ngtable

我想访问ng-repeat的{​​{1}}内点击的“事件”,但我无法弄清楚如何访问此特定“事件”(“事件”的索引) )在我的控制器内。

以下是相关的HTML:

ng-table

......以及我的控制器的相关部分:

<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'; } }; 显然不正确,但突出显示我正在尝试在HTML中更新的内容。

1 个答案:

答案 0 :(得分:0)

如您所述,控制器中的event.state = 'canceling';不正确。从您的问题来看,当用户点击列表时,您似乎正在尝试更新<td>{{event.state}}</td>

<td>{{event.state}}</td>被绑定为<tr ng-repeat="event in $data">所指示的$ data,后者又绑定到events.tableParams。因此,在您的控制器中,您应该更新$scope.events.tableParams.state