html - 如何使用innerHTML渲染 Angular 变量 - Angular2

标签 html angular interpolation

在我的应用程序中,它们是来自常量文件的一些文本,其声明如下:

  export const EmpStrings = {
    data:  "Welcome {{employee.name}}"
  }

在我的组件文件中,有一个名为 employee 的对象。

   public employee = { name: 'xyz', dept: 'EE' }

现在在我的 HTML 中我想像这样使用它:

<div class='e-data' [innerHTML] = "EmpStrings.data"></div>

但这似乎不起作用。 我尝试了各种变化:

[inner-html] = "EmpStrings.data"
[innerHTML] = {{EmpStrings.data}}
[innerHTML] = "{{EmpStrings.data}}"

但它们似乎都不起作用。

最佳答案

如果你不想使用JitCompiler那么你可以自己解析字符串

组件.ts

ngOnInit() {
  this.html = EmpStrings.data.replace(/{{([^}}]+)?}}/g, ($1, $2) => 
      $2.split('.').reduce((p, c) => p ? p[c] : '', this));
}

模板

<div [innerHTML]="html"></div>

Plunker Example

关于html - 如何使用innerHTML渲染 Angular 变量 - Angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45234240/

相关文章:

asp.net-mvc - Angular4 + MVC + cli + 使用从 cli 构建命令生成的 dist 文件夹进行部署

Angular 7 - 在 For 循环中展开或折叠 Div

matlab - 预先计算多维线性插值的权重

c# - C#/Unity3D中的分段线性整数曲线插值

javascript - 获取位于表jquery中的输入字段的值

Javascript getElementById - 阅读作品,改变不

javascript - 将 HTML 动态添加到 iFrame 中 - Javascript

php - 如何在相同按钮位置的中心动态对齐单选按钮?

angular - Angular 中的 USB 设备

r - 地理热/等高线图空间插值的最佳方法?