我有一个角度应用程序,它的一部分吐出了一段需要动态着色的文本,为此我在需要的地方注入了span元素并用一个类进行标记,因此输出为像这样的东西:
Some text <span class="failResult">that's emphasized</span> and other text too.
我正在使用一个td(它在表中),该td具有内部html绑定到该值。此类的css非常简单。有几种类似的类会根据计算得出的值稍微改变外观,但它们看起来都像这样:
.failResult {
color: #dd2222;
}
我得到的html正确显示了文本,但是跨度内的部分没有显示颜色。
我尝试过的事情:
<td _ngcontent-c4="">17 Checks, 7 <span class="failResult">(61%)</span> Pass, 3 Fail, 5 Count/List, 2 Not Run</td>
我是否不知道跨度不会反映通过类应用的颜色?您如何使它工作?
编辑
与这个问题无关,但是为了完整起见,这里是生成内容的代码:
GetReportSummary(): string {
const values = [];
values.push(`${this.TotalChecks} Checks`);
if (this.PassingChecks > 0 || this.FailingChecks > 0) {
let resultClass = 'passResult';
if (this.PassPercent < 70) {
resultClass = 'failResult';
} else if (this.PassPercent < 90) {
resultClass = 'warnResult';
}
values.push(`${this.PassingChecks} <span class="${resultClass}">(${this.PassPercent}%)</span> Pass`);
values.push(`${this.FailingChecks} Fail`);
}
if (this.ReportingChecks > 0) {
values.push(`${this.ReportingChecks} Count/List`);
}
if (this.NotRunChecks > 0) {
values.push(`${this.NotRunChecks} Not Run`);
}
if (this.ErrorChecks > 0) {
values.push(`<span class="errorResult">${this.ErrorChecks} Error</span>`);
}
return values.join(', ');
}
答案 0 :(得分:1)
此行为归因于Angular使用封装将其样式范围限定到特定组件的方式。如果将样式添加到项目的主 styles.css 文件中,则该样式应该可以工作。