为什么在简单地提供类名时ng-class不起作用?

时间:2014-06-03 18:12:03

标签: css angularjs ng-class

Fiddle.

我没有看到任何迹象表明为什么这不起作用。 Angular Doc表示“如果表达式求值为字符串,则字符串应为一个或多个以空格分隔的类名。”我在这段代码中做错了什么?

不起作用:

 <div ng-class="myClass">
    Using ng-class (with no quotes so maybe it doesn't evaluate to a String).
</div>

不起作用:

<div ng-class="'myClass'">
    Using ng-class (with quotes around the class name so it is (?) evaluated to a String).
</div>

使用:

<div class="myClass">
    Using regular class, no ng-class.
</div>

2 个答案:

答案 0 :(得分:3)

ng-class用于根据条件动态添加/删除类。我在上面的案例中使用了类,但如果您想动态添加类foo,请使用:ng-class="{'foo': condition}"

要记住的是,angular可以帮助您在标准HTML中执行动态操作。因此,如果您只需要为元素添加一个类,只需使用class。

答案 1 :(得分:2)

ng-class将引用范围变量或根据表达式输出动态应用类。

请查看此示例:http://jsfiddle.net/BJjB2/4/

例如:

function mainCtl($scope) {
    $scope.myClass = 'myClass';
}

更改$ scope.myClass值也会更新css类。