0

在下面的代码示例中,为什么在锚元素的 ng-click 指令中的 position[0].position 周围需要括号,但在 div 的 ng-show 指令中不需要括号?

<div ng-controller="PlayersController as pl">
  <section ng-init="tab = 'goalkeepers'">
    <li ng-repeat="position in pl.players">
      <a href ng-click="tab = {{position[0].position}}">{{position[0].position}}</a>
    </li>
  </section>
  <div ng-repeat="position in pl.players">
    <div ng-repeat='player in position' ng-show="tab === position[0].position">
      <h2 ng-show='$first'>{{player.position}}</h2>
      <h3>{{player.name}}</h3>
      <h4>{{player.price | currency: '£': 0}} {{player.score}}</h4>
    </div>
  </div>
</div>  

它是否与设置相等性与检查相等性有关?它与嵌套的 ng-repeat 有关吗?

当我在 div 元素的 ng-show 中的相等检查周围添加括号时,我得到一个解析错误,为什么?

4

2 回答 2

2

在 Angular 中,表达式需要在花括号绑定中,而 Angular 指令不需要。

据我们了解,这ng-click是一个指令,您不需要在那里添加花括号。

于 2015-09-26T07:42:44.183 回答
1

您不需要 ng-click 属性中的括号。Angular 会评估属性的值,所以只需 ng-click="tab = position[0].position;"

于 2015-09-26T07:40:30.823 回答