【问题标题】:How to ignore a handlebars expression in Mustache templates?如何忽略 Mustache 模板中的车把表达式?
【发布时间】:2019-09-09 13:09:13
【问题描述】:

我已多次阅读有关模板的 Mustache 规范,但我无法弄清楚如何忽略车把表达式。我有一个必须渲染 {{value}} 的小胡子模板,如图所示,但小胡子似乎没有办法逃脱把手。

http://mustache.github.io/mustache.5.html

例如;

example.mustache

<p>This would {{value}} not be changed</p>

我需要将上面的{{value}} 打印在模板输出中。

这是一个演示我尝试过的代码片段。

console.log(Mustache.render('Example of {{value}} what I want ignored',{}));
console.log(Mustache.render('Does not work \\{\\{value\\}\\}',{}));
&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/3.0.3/mustache.js"&gt;&lt;/script&gt;

我确定这很简单,但我想不通。

【问题讨论】:

    标签: javascript templates mustache


    【解决方案1】:

    疯狂花了我好长时间才弄明白官方的把手转义方式,而且还隐藏在一些源码的cmets中。

    <p>This would {{ "{{" }}value{{ "}}" }} not be changed</p>
    

    不用说没有真正的方法可以逃脱它们。 技巧是只发出一个把手的字符串值。

    【讨论】:

      【解决方案2】:

      这里有一个解决您的要求的方法,

      var dataObject ={}
      dataObject.openbrace = '{{';
      dataObject.closebrace = '}}';
      dataObject.value = 'Your Value';
      
          console.log(Mustache.render('Example of {{value}} what I want ignored',{}));
          console.log(Mustache.render('Does not work {{openbrace}}{{value}}{{closebrace}}',dataObject ));
      

      或者你可以使用一些分隔符 Mustache.render('示例 {{==}}{}', routeObj);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多