css - Angular 混合不同的 [ngClass] 表达式

标签 css angular

我想混合 [ngClass] Angular 中的表达式,首先我想向我的组件添加一个类数组,然后我还想添加一个基于 bool 表达式的类。 我可以用 <li [ngClass]="item.status"> 添加一个数组我可以添加一个基于 bool 表达式的类 <li [ngClass]="{active: item.active}">

注意: item.status 是一个类似item.status=['done', 'progressed'] 的数组

但是我怎样才能混合两种风格呢? 以下不起作用,因为只有属性是重复的。 <li [ngClass]="item.status" [ngClass]="{active: item.active}">

提前致谢

最佳答案

因为你不可能有[ngClass]在同一元素中多次使用 [ngClass] 的组合和 class。当以这种方式使用 class 进行插值时,您还可以添加多个类。尝试使用以下方式。

例如HTML

<li  class="t-size {{item.status.join(' ')}}" [ngClass]="{'active': item.active }">

例如组件

 item = {
    status : ['done', 'progressed'],
    active: true
  }

例如CSS

.done{
  font-weight: bold;
}

.progressed{
  color:blue;
}

.t-size{
  font-size: 2rem;
}

.active{
  background-color: yellowgreen;
}

WORKING DEMO

希望对您有所帮助! :)

关于css - Angular 混合不同的 [ngClass] 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50479874/

相关文章:

angularjs - 带 Angular 的CSS过渡

css - 我如何在 Joomla 中将 MaxiMenu CK 菜单居中?

Angular 路由不刷新页面

Angular:如何从 .t​​s 文件呈现 HTML?

javascript - jQuery 工具提示和鼠标悬停集成

html - float 元素的奇怪行为似乎具有相对定位

php - 将 Git 与 Wordpress 结合使用

angular - 根据提供的json动态生成多个 Canvas 区域

angular - 有没有什么时候我不需要在组件中处理取消订阅的例子?

angular - 从 Controller HTML Ionic 2 单击