首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角4中的InnerHTML未加载

角4中的InnerHTML未加载
EN

Stack Overflow用户
提问于 2018-01-09 16:15:05
回答 2查看 2.2K关注 0票数 1

我在做“角/芯”4.4.6,

这是我的组件html

代码语言:javascript
复制
<div class="contact" [innerHTML]="template">

这是我的组件ts代码

代码语言:javascript
复制
this.template = '<div> hello world </div>';
console.log(self.template );

当组件ts代码运行时,控制台可以打印hello world,但是这个html自动加载到组件中,html页面仍然是空的。

这是为什么,以及如何解决?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-10 11:10:30

更新您的代码并尝试,

代码语言:javascript
复制
self.template = '<div> hello world </div>';

如果它不起作用或您仍在受苦,请尝试以下jQuery代码(在Angular2中这不是推荐的方法)

<div class="contact" id="template">

TS$('#template').html('<div> hello world </div>');

票数 0
EN

Stack Overflow用户

发布于 2018-01-09 16:24:37

在您的代码片段周围提供更多的上下文将很有帮助。比如它是如何在类中声明的,初始化在哪里进行的,它是否作为类的公共成员公开是相关的。

然而,我猜角并不相信HTML是“安全的”。

为了满足我的需要,我必须创建一个管道来处理绑定到模板的HTML标记:

代码语言:javascript
复制
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';

/**
 * See link for more detail: https://stackoverflow.com/questions/39628007/angular2-innerhtml-binding-remove-style-attribute
 */
@Pipe({
  name: 'safeHtml'
})
export class SafeHtmlPipe implements PipeTransform {

  constructor(private sanitized: DomSanitizer) {}

  transform(value: string, args?: any): SafeHtml {
    if(value) {
      return this.sanitized.bypassSecurityTrustHtml(value);
    } else {
      return 'Undefined HTML';
    }
  }

}

查看Dom消毒剂的角度文档,或者按照链接到另一个文档,因此在代码注释中发布更多信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48172378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档