angular - 如何根据某些条件应用角度材质样式属性?
问题描述
我有一个名为 status 的枚举
export const enum Status {
ACTIVE = "Active",
REVIEW = "Review"
}
我有一个像垫子一样的按钮
<button class="status-button"
mat-raised-button color="warn">{{myObj.realStatus}}</button>
状态按钮是我自己的类, 颜色是角材料的属性。
我想要两种基于枚举更改颜色的方法
像
如果 Enum 处于活动状态,我想要颜色警告 else primary(也就是说,我想根据从 myObj 获得的枚举条件更改 mat 按钮的颜色属性)
如果我可以基于 Enum 同时添加两个类,这是附加样式以及状态按钮
我怎样才能以更简单的方式实现这一点希望我的问题很清楚..!!
解决方案
- 为此,请在打字稿中实现以下内容:
public colorPicked: string = Status.ACTIVE? "warn" : "primary"
接下来在 HTML 中将颜色替换为您创建的新变量:
button class="status-button"
mat-raised-button color="colorPicked">{{myObj.realStatus}}</button>
- For the second, if I understood correctly, you want to change CSS class basing on the enum. You can use NgClass to pick the class basing on the expression (class1 and class2 are css classes defined in the css file):
button [ngClass]="{'class1': Status.ACTIVE, 'class2': Status.REVIEW}">{{myObj.realStatus}}</button>
推荐阅读
- lua - Roblox 异地传送问题
- continuous-deployment - TFS 部署代理运行远程 powershell 问题
- javascript - 如果属性不存在,如何默认为空数组 - es6
- javascript - 如何在对象上使用reduce
- android - 在 Ionic 3 中运行发布命令时,Angular AoT 构建失败
- c# - ADO.NET 实体模型和使用 JOIN 的 LINQ
- python - Py2app 因刮擦而失败
- apache2 - ProxyPass 修改 304 状态为 200 并添加 content-type
- c++ - C++11/14/17,GCC 7 与 GCC 8:朋友类模板的名称查找
- r - 向导航栏页面添加第二个选项卡时,我再也看不到数据了