我正在尝试使用 .replace 函数,只要我只有一个要替换的变量,它就可以正常工作。一旦我需要多次替换一个变量,它就不再工作了。
这是我的代码的一部分:
function handleDetails(contentItem, contentKeys, templateKey, contentElementKey, callback=null) {
let contentTemplate = $('#' + templateKey).html();
for (const item of contentKeys) {
contentTemplate = contentTemplate.replace('{{' + item + '}}', contentItem[item]);
}
$(contentElementKey).append(contentTemplate);
if (callback) {
callback(contentItem);
}
}
示例:{{date}} -> 替换为 04/11/2021
现在我想在我的模板中使用 {{date}} 两次,但只有我的第一个 {{date}} 被替换。因此我尝试使用 /g 但没有成功。这是我迄今为止尝试过的:
contentTemplate = contentTemplate.replace('{{' + item + '}}/g', contentItem[item]);
或
contentTemplate = contentTemplate.replace('/{{' + item + '}}/g', contentItem[item]);
或
contentTemplate = contentTemplate.replace(/'{{' + item + '}}'/g, contentItem[item]);
我找不到正确的语法。我究竟做错了什么?这不是它应该工作的方式吗? 我非常感谢您的帮助。
提前致谢, 克里斯