Как вставить {{$index}} в директиву ng-класса?

#angularjs

#angularjs

Вопрос:

У меня есть директива, которая перебирает список и добавляет класс к div элементам, подобным этому :

<div ng-class="{'has-error' : error.degreeYear_{{$index}}} />

Когда я проверяю элемент, исходный код показывает, что индекс правильно заменен

 <div ng-class="{'has-error' : error.degreeYear_5} />
  

Но это выдает ошибку, при нажатии на которую сайт AngularJS показывает это :

 Error: $parse:syntax
Syntax Error
Syntax Error: Token '{' is an unexpected token at column 18 of the expression [error.degreeYear_{{] starting at [{4}].].
  

Я предполагаю $index , что виноваты угловые фигурные скобки, потому что все ng-class выражение уже должно быть заключено в угловые скобки. Как мне с этим справиться?

Ответ №1:

Вот так:

 <div ng-class="{'has-error' : error.degreeYear_   $index} />
  

Поскольку ng-class это уже выражение, двойные скобки не нужны.

Ответ №2:

 <div ng-class="{'has-error' : error.degreeYear_$index} />
  

ng-class уже является частью angular, поэтому необходимо заключить его в двойные скобки.