有条件的显示样式

时间:2018-09-12 10:47:42

标签: angularjs

我有一个具有这种结构的物品清单:

items = [ {name:"name1",value:"value1",status:"new"},
          {name:"name2",value:[new_val, prev_val],status:"changed"},
          {name:"name3",value:"value3",status:"deleted"},...]

状态可以是:“新”,“已更改”或“已删除”。 我需要做的是ng-repeat项目列表并按如下所示显示它们:

  • 如果status === "new":以“绿色”显示名称
  • 如果status === "deleted":以“红色”显示名称并被删除
  • 如果status === "changed":以黄色显示名称,第一个值  红色并删除,第二个绿色(作为新值)

我的代码如下:

<tr ng-repeat="item in items">
  <td ng-class="{'deleted-entry': item.status === 'deleted', 
                 'changed-entry': item.status === 'changed', 
                 'new-entry': item.status === 'new'}">
    {{item.name}}
  </td>
  <td ng-if="another condition">
    <i ng-if="item.status !== 'changed'">
      {{item.value}}
    </i>
    <!-- <i ng-if="item.status === 'changed'" ng-class="changed-entry">{{item.value[0]}}{{item.value[1]}}</i> -->
  </td>
</tr>

我不知道如何在status==="changed"情况下并排显示每个值具有不同类样式的值。
这是我的CSS类:

.deleted-entry {
   text-decoration: line-through;
   color: red;
}
.changed-entry {
  color: yellow;
}
.new-entry {
  color: green;
}

0 个答案:

没有答案