在使用innerHTML将HTML代码插入到DOM中时,内联样式可能不会被应用。解决此问题的方法是使用Renderer2来创建动态元素并应用内联样式。
以下是示例代码:
在组件中导入Renderer2:
import { Component, Renderer2, ElementRef, OnInit } from '@angular/core';
然后在构造函数中注入Renderer2:
constructor(private renderer: Renderer2, private el: ElementRef) { }
在ngOnInit方法中创建动态元素并应用样式:
ngOnInit() { const div = this.renderer.createElement('div'); //创建动态元素
this.renderer.setAttribute(div, 'style', 'color: red; padding: 10px;'); //在动态元素中应用样式
this.renderer.appendChild(this.el.nativeElement, div); //将动态元素插入到DOM中 }
这将创建一个红色的带有10像素内边距的div元素,并将其插入到组件的根元素中。
下一篇:Angular:检测用户停止输入