2015-01-15 67 views
15

我相信新的AngularJS和据我所知,ngClass指令可以用来插入类动态到类似的元件:ngClass不工作?

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

和角度会自动评估哪些条件都为真,将在元件插入那些特定的类。

现在我试图做一些事情,如:

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

因为我有引导,它会自动邮件是否是有效颜色的标签和输入绿色。但它不工作,我在控制台收到此特定错误:

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 

等等....

我在做什么错?这是一个语法问题吗?

回答

27

Theres在你的班级名称短划线,所以使用单引号!

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

什么时间。我们的回答完全贴在同一时间.. 17-21-21,你是毫秒我前面..:d – PSL 2015-01-15 17:26:41

+0

@PSL - 哈...我知道你总是在这些有问题的角度,一定要快! – tymeJV 2015-01-15 17:28:46

+0

这正是我在想的。现在我接受哪些?再加上upvote战争也在附近。 – Rohan 2015-01-15 17:35:18

10

这显然是一个解析错误,你有无效的语法由于-在属性名@{has-success: form.email.$valid}存在。你需要用引号将它们包装起来。

尝试: -

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