html - 如何使用 Javascript 对象中的变量值动态更改按钮的颜色?
问题描述
我的 html 创建了一个带有当前颜色为绿色的按钮的表格。
html
<tr *ngFor="let d of dataLinkResult;">
<td>
<a [routerLink]="['/details', d.leftDatabase, d.leftCollection,d.leftId ]">
<span *ngIf="d.leftId" class="btn {{d.leftId}} table-button text-left" data-toggle="tooltip"
title="Database: {{d.leftDatabase}}, Collection: {{d.leftCollection}}">{{d.leftName}}</span>
<span *ngIf="!d.leftId" class="btn table-button text-left" id="leftNode">[NULL]</span>
</a>
<br>
<i style="color:black">Database: {{d.leftDatabase}}, Collection: {{d.leftCollection}}</i>
</td>
<td class="relationship">{{d.relationshipDescription}}</td>
<td>
<a [routerLink]="['/details', d.rightDatabase, d.rightCollection,d.rightId ]">
<span *ngIf="d.rightId" class="btn {{d.rightId}} table-button text-left" data-toggle="tooltip"
title="Database: {{d.rightDatabase}}, Collection {{d.rightCollection}}">{{d.rightName}}</span>
<span *ngIf="!d.rightId" class="btn table-button text-left" id="rightNode">[NULL]</span>
</a>
<br>
<i style="color:black">Database: {{d.rightDatabase}}, Collection: {{d.rightCollection}}</i>
</td>
</tr>
数据链接结果的每个 d 如下所示:
{id: "5dd41cb989a1db3edcdafbed",
leftDatabase: "Random",
leftCollection: "lorems",
leftId: "5dd41cb289a1db3edcdafa14",
leftName: "nihil",
leftColour: "#32a89e",
rightDatabase: "Commerce",
rightCollection: "products",
rightId: "5dd41cb289a1db3edcdaf990",
rightName: "Unbranded Metal Soap",
rightColour: "#a88b32"}
最后是我想根据 d.leftColour 或 d.rightColour 中的内容更改的CSS
.table-button {
background-color: chartreuse;
}
所以在这种情况下 - 我希望 id 为 leftNode 的元素具有颜色#32a89e,而具有 id 为 rightNode 的元素具有颜色#a88b32。
但这对于 dataLinkResult 的每个 d 都有可能发生变化 - 所以我需要确保颜色是动态更新的。
如果可能的话,我不想为此使用 JQuery。
解决方案
使用ngStyle
,
对于左键,
[ngStyle]="{'background-color':d.leftColour}"
对于右键,
[ngStyle]="{'background-color':d.rightColour}"
推荐阅读
- ruby-on-rails - 使用 Iex-Ruby-Client Gem 配置 Ruby On Rails 应用程序
- imagemagick - 我可以使用 ImageMagick 获得单个字符的边界框吗?
- sql - 检查数据表中的出生日期是否即将到来
- continuous-integration - 用于持续集成的 Team City 构建配置
- python - 如何在 Python 中获取 GstBuffer 标志
- microservices - Api gateway、Service Regisry 和 Service Mesh,它们如何协同工作?
- c - x64 操作系统上 x32 ELF 的除法性能
- sql - 在 phpmyadmin 中创建视图
- marklogic - 在协调数据时遇到错误
- angular-material - 如何使用 Angular Material mat-form-field,但使用普通占位符