【问题标题】:How can I create simple view engine like Mustache {{ }} using JavaScript only [closed]如何仅使用 JavaScript 创建像 Mustache {{ }} 这样的简单视图引擎 [关闭]
【发布时间】:2016-03-04 12:40:48
【问题描述】:

如何创建像 Mustache 这样的简单视图引擎,以便将 {{ }} 之间的单词替换为其值,例如:

<p>hey there {{ codeName }}</p>
codeName = 'JavaScript 6'
so that it be converted to:

<p>hey there JavaScript 6</p>

【问题讨论】:

  • 如果这种技术真的这么简单,Mustache 就不需要存在了。我会使用 Mustache 或类似的东西,这样您就不必处理他们已经遇到的问题。
  • @Blazemonger 不是没有解决方案,我想了解解决方案,而不仅仅是使用它。
  • 我必须说这个问题被“搁置”是不公平的,因为在 SO 上有成千上万的问题要求具体的 broad 问题,例如这个问题。

标签: javascript viewengine


【解决方案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);

参考是here

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 2021-11-03
    相关资源
    最近更新 更多