首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS ng-class不工作

AngularJS ng-class不工作
EN

Stack Overflow用户
提问于 2017-05-13 06:33:18
回答 3查看 765关注 0票数 0

我为表格单元格设置ng-class的方式如下:

代码语言:javascript
复制
<td data-ng-repeat="t in report.tags|orderBy:'seq'" data-ng-class='{red : state==3 || state==4 , green: state==1 || state==2}'> {{ t.cell_content}}</td>

其中state是数组tags中object的属性(因此可以作为t.state访问)

在CSS中,我有以下几行:

代码语言:javascript
复制
.red {
    background: red; 
}

.green {
    background: green;
}

但是,即使此CSS文件的其他参数(在代码的另一部分中)可以正常工作,单元格也保持为白色。

我哪里错了?

注意:使用t.state并不能解决问题。

我确信state只有1、2、3或4的值

EN

回答 3

Stack Overflow用户

发布于 2017-05-13 07:09:24

如果我真的理解了你的问题,状态是数组中对象的属性,所以这是在Jsfiddle上正确工作的例子,我只是使用t.state而不是状态,其他一切都很好

代码语言:javascript
复制
<div ng-app>
  <div ng-controller="test">
  <table>
  <tr>
    <td ng-repeat='t in arr'  data-ng-class='
  {red : t.state==3 || t.state==4 ,green: t.state==1 || t.state==2}'> {{t.state}}
  </td>    
  </tr>
  </table> 

并且angular控制器看起来像这样

代码语言:javascript
复制
function test($scope) {
    $scope.arr = [{
        state: 1
    }, {
        state: 2
    }, {
        state: 3
    }]
}
票数 1
EN

Stack Overflow用户

发布于 2017-05-13 16:03:27

谢谢你们,我已经在我的条件中添加了括号(),它神奇地开始工作了

代码语言:javascript
复制
   <td data-ng-repeat="t in report.tags|orderBy:'seq'" data-ng-class='{red : (t.state==3 || t.state==4) , green: (t.state==1 || t.state==2)}'> {{ t.cell_content}}</td>
票数 0
EN

Stack Overflow用户

发布于 2017-05-13 06:49:48

你不应该使用t.state而不是state吗?用单引号''括起你想要的类名?

代码语言:javascript
复制
<td data-ng-repeat="t in report.tags|orderBy:'seq'" data-ng-class='{'red' : t.state==3 || t.state==4 , 'green': t.state==1 || t.state==2}'> {{ t.cell_content}}</td>
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43947339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档