0

В следующем примере кода, почему скобки необходимы по позиции [0] .position в директиве ng-click в элементе привязки, но не в директиве ng-show в divs?Ошибка Anglejs parse иногда при использовании скобок

<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-повторением?

Когда я добавляю скобки вокруг проверки равенства в ng-show в элементе div, я получаю ошибку синтаксического анализа, почему?

ответ

2

В Угловые выражения должны быть в пределах фигурных скобок, где Угловые директивы - нет.

Как мы понимаем, ng-click - это директива, в которой нет необходимости добавлять фигурные скобки.

+0

Благодарим за это, не совсем понятно, чем отличается угловая директива от выражения. Я посмотрю. –

1

Вам не нужны скобки в атрибуте ng-click. Угловое вычисляет значение атрибута, поэтому просто ng-click = "tab = position [0] .position;"