在Mustache.js中循环使用相同变量名的不同值?

时间:2018-02-19 15:50:39

标签: javascript handlebars.js mustache

我有一些类似如下的数据:

hello this is {{replacement_data}} and this {{replacement_data}} is {{replacement_data}}

我想使用Mustache用一组值替换它们:

[val1, val2, val3

这类事可能吗?目前,我正在用Java编写一个丑陋的循环,并希望用这样的东西来清理它。

1 个答案:

答案 0 :(得分:0)

如果这很简单,你就不需要把手或小胡子了。使用RegEx和几行代码非常简单。请参阅下面的示例。给定一系列替换,按照与要替换的内容相同的顺序,搜索每个替换并替换为相应的数组元素。

简单。

var replacements = ['first replacement', 'second replacement', 'third replacment'];

let subject = document.querySelector('div');
let input = subject.textContent;
let output = input.replace(/{{replace me}}/g, match=>replacements.shift());
subject.textContent = output;
<h3>Replacements below...</h3>
<div>
   This is some string with {{replace me}} and {{replace me}} and {{replace me}}!
</div>