NgClass не работает?

Я новичок в AngularJS, и я понимаю, что директиву ngClass можно использовать для динамического добавления классов в такие элементы, как:

<input ng-class="{some-class: condition, another-class: anotherCondition}">

И angular будет автоматически оценивать, какие условия истинны, и вставляет эти конкретные элементы в элемент.

Теперь я пытаюсь сделать что-то вроде:

<div class="form-group" ng-class="{has-success: form.email.$valid}">

Так как у меня есть bootstrap, он автоматически окрашивает ярлык и зеленый вход, если сообщение действительно. Но это не работает, и я получаю эту конкретную ошибку в консоли:

Error: [$parse:syntax] http://errors.angularjs.org/1.2.27/$parse/syntax?p0=-&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=5&p3=%7Bhas-success%3A%20form.email.%24valid%7D&p4=-success%3A%20form.email.%24valid%7D
z/<@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:6:450

и т.д....

Что я делаю неправильно? Это проблема синтаксиса?

Ответы

Ответ 1

Theres тире в имени вашего класса, поэтому используйте одинарные кавычки!

ng-class="{'has-success': form.email.$valid}"

Ответ 2

Это явно ошибка парсера, у вас есть недопустимый синтаксис из-за наличия - в имени свойства @{has-success: form.email.$valid}. Вам нужно будет заключить их в кавычки.

Try: -

<div class="form-group" ng-class="{'has-success': form.email.$valid}">