AngularJS Noob Handbook有一些代码,将类操作减少到简单的表达式和绑定:
<a ng-click="flags.open=!flags.open">...<div ng-class="{active:flags.open}">
但是,ng-class中的表达式语法是什么?我理解,一个垂直的条(|)将通过一个过滤器,过滤器可以传递冒号后的参数,但上述代码做不同的事情。如果右侧的scope变量计算为true,则包含左侧的表达式,否则丢弃它。
这是特定于ng-class指令吗?有没有一些关于http://docs.angularjs.org的文档解释这个?
这在
ngClass
documentation中简短地提到(在我看来太简单)。如果你传递一个对象到ngClass,那么它将应用对象的每个键作为一个类到元素,如果该键的值为true。例如:
$scope.first = true $scope.second = false $scope.third = true
与
<div ng-class="{a: first,b: second,c: third}"></div>
会导致
<div class="a c"></div>