使用angular2将动态数据插入字符串

时间:2017-04-10 16:11:05

标签: javascript angular

我正在通过ajax请求从服务器加载数据。 JSON文件具有站点中弹出窗口的配置。

popupData: {
   data:{ var_one: "hello", var_two: "world"},
   template: "the <b>{{var_two}}</b> say's {{var_one}}"
}

每次出现弹出窗口时,变量名称和模板都会有所不同。

如何使用随附的数据插入此字符串?我需要使用[innerHTML]将预先构建的字符串传递给要查看的组件。

1 个答案:

答案 0 :(得分:3)

收到数据后的某处:

const popupString = popupData.template.replace(
  /{{\s?([^{}\s]*)\s?}}/g,
  (substring, parsedKey) => {
    const replacer = popupData.data[parsedKey];
    return typeof replacer !== 'undefined' ? replacer : substring;
  }
);

在您的示例中它应该等于the <b>world</b> says Hello

请注意,此代码来自robisim74’s angular-l10n(MIT许可证)。