Angular2 innerHtml 绑定破坏了数据绑定

Angular2 innerHtml binding breaks data binding

我试图在保持数据绑定的同时绑定到 innerHtml。这不起作用(输出 {{myVar}})。

@Component({
  selector: "test",
  template: `
    <div [innerHtml]="myHtml"></div>
  `,
})
export class TestComponent{
  title = "My Title";
  myHtml: SafeHtml;

  constructor(private sanitizer: DomSanitizer){
    this.myHtml = sanitizer.bypassSecurityTrustHtml("<h1>{{title}}</h1>");
  }
}

在我的真实应用程序中,myHtml 是 SVG 文件的内容(这就是我需要 bypassSecurityTrustHtml 的原因)并且经常更改,因此我无法将它放入我的模板中(它可能来自 20不同的 SVG 文件)。

如果有办法动态设置组件的templateUrl,也能解决我的问题,但找了半天好像不行。

Angular2 不处理动态添加的 HTML,因此 {{}}[]()、... 不应该工作。 也不会创建任何组件或指令,即使以这种方式添加的 HTML 与它们的选择器相匹配。

仅处理静态添加到组件模板的标记。

演示了您确实需要的方法。