我正在通过ajax请求从服务器加载数据。 JSON文件具有站点中弹出窗口的配置。
popupData: {
data:{ var_one: "hello", var_two: "world"},
template: "the <b>{{var_two}}</b> say's {{var_one}}"
}
每次出现弹出窗口时,变量名称和模板都会有所不同。
如何使用随附的数据插入此字符串?我需要使用[innerHTML]将预先构建的字符串传递给要查看的组件。
答案 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许可证)。