您得到的这种行为是正常的。添加到的类将
innerHTML被忽略,因为默认情况下,封装为
Emulated。这意味着Angular会阻止样式在组件内部和外部进行拦截。您应该将封装更改为
None。这样,您将可以在任何需要的地方定义类:在
styles单独的
.css,样式表中(
.scss或
.less无关紧要),Angular会自动将它们添加到DOM中。
import { Component, ViewEncapsulation } from '@angular/core';@Component({ selector: 'example', styles: ['.demo {background-color: blue}'], template: '<div [innerHTML]="someHtmlCode"></div>', encapsulation: ViewEncapsulation.None,})export class Example { private someHtmlCode = ''; constructor() { this.someHtmlCode = '<div ><b>This is my HTML.</b></div>'; }}


