基于变量值的ng-class

时间:2015-03-19 17:07:29

标签: angularjs ng-class

我有一个带有4个可能值的变量,我想为前3个变量添加一个类,为前2个变量添加另一个变量,同时需要将一些时间更改为一个类为两个可能的值,另一个为另一个值< / p>

所以如果我给

<span ng-class="{'yes' : provisioned=='active',
    'yes': provisioned=='cannot_delete_edit',
    'no': provisioned=='cannot_delete_edit_upload',
    'no': provisioned=='inactive'}" class="flag">
</span>

它无法正常工作如何解决这个问题

2 个答案:

答案 0 :(得分:4)

您应该只列出每个课程一次:

<span ng-class="{'yes': provisioned=='active' || provisioned == 'cannot_delete_edit', 'no': provisioned=='cannot_delete_edit_upload' || provisioned=='inactive', 'flag': true}"></span>

答案 1 :(得分:0)

如果你的跨度只有两个选项,你可以改用:

<span ng-class="(provisioned=='active' || provisioned == 'cannot_delete_edit') ?
                'yes' : 'no'">...</span>

但是这仍然会在HTML中留下硬编码的值。相反,我建议将数据保留在控制器中:

$scope.provisioned = (provisioned=='active' || provisioned == 'cannot_delete_edit');

然后使用

<span ng-class="provisioned ? 'yes' : 'no'">...</span>