Angular 4: 内容未在innerHTML中渲染的自定义指令。
创始人
2024-10-15 19:30:13
0

在Angular 4中,如果你在innerHTML中使用了自定义指令,你可能会遇到内容没有被渲染的问题。这是因为Angular 4默认不会处理innerHTML中的内容。为了解决这个问题,你可以使用Renderer2来手动处理innerHTML中的内容。

下面是一个解决方法的示例代码:

  1. 首先,在你的自定义指令中引入Renderer2
import { Directive, ElementRef, Renderer2 } from '@angular/core';
  1. 在构造函数中注入ElementRefRenderer2
constructor(private el: ElementRef, private renderer: Renderer2) { }
  1. ngAfterViewInit生命周期钩子中使用Renderer2来处理innerHTML中的内容:
ngAfterViewInit() {
  const content = this.el.nativeElement.innerHTML;
  this.renderer.setProperty(this.el.nativeElement, 'innerHTML', content);
}

完整的自定义指令示例代码如下:

import { Directive, ElementRef, Renderer2 } from '@angular/core';

@Directive({
  selector: '[appRenderInnerHtml]'
})
export class RenderInnerHtmlDirective {

  constructor(private el: ElementRef, private renderer: Renderer2) { }

  ngAfterViewInit() {
    const content = this.el.nativeElement.innerHTML;
    this.renderer.setProperty(this.el.nativeElement, 'innerHTML', content);
  }

}

然后,你可以在需要的地方使用这个自定义指令:

通过使用Renderer2手动处理innerHTML中的内容,你可以解决Angular 4中自定义指令在innerHTML中不渲染的问题。

相关内容

热门资讯

透视揭幕!wepoker怎么增... 您好,wepoker怎么增加运气这款游戏可以开挂的,确实是有挂的,需要了解加去威信【13670430...
德州机器人代打脚本!pokem... 德州机器人代打脚本!pokemmo辅助脚本(透视)工具-本来揭幕存在有挂1、该软件可以轻松地帮助玩家...
透视分享!pokerworld... 透视分享!pokerworld修改器(透视)wepoker透视版下载,教程经验(有挂功能)-哔哩哔哩...
wepoker分析!hhpok... wepoker分析!hhpoker透视脚本下载(透视)脚本-都是科普有挂1、hhpoker透视脚本下...
透视分享!德普之星私人局辅助器... 透视分享!德普之星私人局辅助器(透视)wejoker辅助软件,教程项目(有挂规律)-哔哩哔哩1、透视...
竞技联盟透视插件!德扑圈有透视... 竞技联盟透视插件!德扑圈有透视吗(透视)工具-一贯有挂是真的挂1、竞技联盟透视插件辅助器安装包、竞技...
透视曝光!hhpoker视频巡... 透视曝光!hhpoker视频巡查真的假的(透视)hhpoker软件安装包,教程指南书(有挂头条)-哔...
wejoker黑侠辅助器!德普... wejoker黑侠辅助器!德普之星私人局透视(透视)软件-果然揭露存在有挂1、德普之星私人局透视免费...
透视开挂!wepoker透视脚... 透视开挂!wepoker透视脚本免费(透视)pokemmo脚本辅助下载,教程指南书(有人有挂)-哔哩...
hhpoker德州真的假的!拱... hhpoker德州真的假的!拱趴大菠萝挂怎么安装(透视)app-其实解密真的有挂1、下载好拱趴大菠萝...