如何显示包含来自 angular 组件的内联样式标签的字符串 HTML
How to display string HTML containing inline style tag from angular component
我想显示一个已保存的 HTML 包含内联样式标签,来自 angular 组件,
我尝试过封装:ViewEncapsulation.None,但它不起作用。
组件:
@Component({
selector: 'app-page-content',
templateUrl: './page-content.component.html',
styleUrls: ['./page-content.component.css'],
encapsulation: ViewEncapsulation.None,
})
在ts组件中从HTTP get获取数据:
description=<p class="ql-direction-rtl ql-align-right" style="text-align: center;"><strong><span style="color: #236fa1;">test</span></strong></p>
显示数据:
<div [innerHtml]=description></div>
由于安全问题,Angular 不允许您直接将样式传递给变量。所以你必须明确地告诉它你的字符串是安全的。
你按如下方式操作:
import {DomSanitizer} from '@angular/platform-browser'
.....
export class AppComponent {
description;
constructor(private sanitizer: DomSanitizer) {
this.description = sanitizer.bypassSecurityTrustHtml(`<p class="ql-direction-rtl ql-align-right" style="text-align: center;"><strong><span style="color: #236fa1;">test</span></strong></p>`)
}
}
我想显示一个已保存的 HTML 包含内联样式标签,来自 angular 组件, 我尝试过封装:ViewEncapsulation.None,但它不起作用。
组件:
@Component({
selector: 'app-page-content',
templateUrl: './page-content.component.html',
styleUrls: ['./page-content.component.css'],
encapsulation: ViewEncapsulation.None,
})
在ts组件中从HTTP get获取数据:
description=<p class="ql-direction-rtl ql-align-right" style="text-align: center;"><strong><span style="color: #236fa1;">test</span></strong></p>
显示数据:
<div [innerHtml]=description></div>
Angular 不允许您直接将样式传递给变量。所以你必须明确地告诉它你的字符串是安全的。
你按如下方式操作:
import {DomSanitizer} from '@angular/platform-browser'
.....
export class AppComponent {
description;
constructor(private sanitizer: DomSanitizer) {
this.description = sanitizer.bypassSecurityTrustHtml(`<p class="ql-direction-rtl ql-align-right" style="text-align: center;"><strong><span style="color: #236fa1;">test</span></strong></p>`)
}
}