angular - 在ngclass属性Angular中使用默认类
问题描述
我有一个跨度,需要根据其中的值更改其类。
所以我遵循这样的ngclass方式
<span class="badge " [ngClass]="{'bg-info':item.LifeCycle==='Pipeline',
'bg-primary':item.LifeCycle==='In Progress','bg-warning':item.LifeCycle==='In Close-Down'}">
{{item.LifeCycle}}</span>
但我的问题是,如果 3 个表达式之外的值不同,则内容似乎不可见,因为似乎没有分配任何类。
那么如何在没有任何表达式的情况下在ngClass中设置一个默认类
解决方案
您正在尝试在 ngClass 中实现 switch-case,而 ngClass 只为每个“CSS 类”提供多个 if 语句。这应该通过开关在组件类而不是模板中处理。
<span class="badge " [ngClass]="getBadgeClass(item.LifeCycle)">
{{item.LifeCycle}}</span>
在组件中,您可以使用 switch 语句。
public getBadgeClass(lifeCycle) {
switch lifeCycle {
case 'Pipeline' : // all cases
return 'bg-primary';
default:
return 'what ever is the default class';
}
}
推荐阅读
- c# - 无法在 WPF 中设置 Canvas ZIndex
- gnuradio - 使用 GNU Radio 将数据重新编码为文件 N 个样本
- javascript - 模块解析失败:意外的令牌
- php - 登录codeigniter后如何防止用户“返回”?
- java - 关于 NestedScrollView 的问题
- angular - 如何调用一个函数
让变量声明Angular 4 - python - 在 aws lambda 上运行时如何解决 python 中的 cx_Oracle 问题
- google-apps-script - 如何从 Google Apps 脚本触发器调用本地脚本?
- mysql - 具有多个连接的 MySQL 查询在 React js App 中性能缓慢
- javascript - 规范化 TS 和 Babel 之间默认导入的正确方法是什么?