Как создать простой движок вида, например Mustache {{ }}, используя только JavaScript
Как я могу создать простой движок вида, такой как усы, чтобы слово между {{ }} заменялось его значением, например:
<p>hey there {{ codeName }}</p>
codeName = 'JavaScript 6'
so that it be converted to:
<p>hey there JavaScript 6</p>
1 ответ
Решение
Я нашел ниже, чтобы быть правильным способом понять это:
var templater = function(html){
return function(data){
for(var x in data){
var re = "{{\\s?" + x + "\\s?}}";
html = html.replace(new RegExp(re, "ig"), data[x]);
}
return html;
};
};
var template = new templater("<p>hey there {{ codeName }}</p>");
var div = document.createElement("div");
div.innerHTML = template({
codeName: "JavaScript 6"
});
document.body.appendChild(div);
ссылка здесь