AngularJS ngClass - 表达式和值

时间:2014-08-10 00:54:49

标签: angularjs

我需要在ngClass中使用表达式和值:

表达式为:ngClass="{'ns-show' : notif.isActive, 'ns-hide' : !notif.isActive}"

值为:'ngClass =“[notif.type,notif.effect]”

此处notif.typenotif.effect包含类的名称,例如ns-growl

我尝试ngClass="{'ns-show' : notif.isActive, 'ns-hide' : !notif.isActive}[notif.type, notif.effect]",但收到错误:

Syntax Error: Token ',' is unexpected, expecting []] at column 50 of the expression

正确的语法是什么?

2 个答案:

答案 0 :(得分:1)

您可以对表达式使用简单绑定,并为映射保留ng-class,这将组合您的类:

<div class="{{notif.type}} {{notif.effect}}" ng-class="{'ns-show' : notif.isActive, 'ns-hide' : !notif.isActive}">

答案 1 :(得分:-1)

编辑:因为Angular没有&#39; ng-show&#39;上课,我回到原来的答案

ng-class="{ng-show:notif.isActive, ng-hide:notif.isActive, notif.effect:ture, notif.type:true}"

plunker


其他可行的解决方案是

ng-hide="!notif.isActive" ng-class="[ng-show, notif.type, notif.efect]"