【发布时间】:2023-04-05 12:40:02
【问题描述】:
谁能告诉我如何更改 mustache.js 的默认分隔符?默认分隔符是{{var}},我想改成{|var|}
我有以下代码:
$('body').append(Mustache.render(this.template, data));
非常感谢
【问题讨论】:
标签: javascript mustache delimiter
谁能告诉我如何更改 mustache.js 的默认分隔符?默认分隔符是{{var}},我想改成{|var|}
我有以下代码:
$('body').append(Mustache.render(this.template, data));
非常感谢
【问题讨论】:
标签: javascript mustache delimiter
设置分隔符标记以等号开头,并将标记分隔符从 {{ 和 }} 更改为自定义字符串。 考虑以下人为设计的示例:
* {{ default_tags }}
{{=<% %>=}}
* <% erb_style_tags %>
<%={{ }}=%>
* {{ default_tags_again }}
因此,对于您想要使用 {|var|} 的情况,您可以使用:
{{={| |}=}}
注意,这里是another example that changes the default delimiter to triple-mustaches。
【讨论】:
$('body').append(Mustache.render('{{={| |}=}} ' + this.template, data)); 对我有用。
{{{field}}} - 使用自定义分隔符 <% 和 %> 未转义字段为 <% & field %>。
我认为一个 javascript 示例也会有所帮助。
var template = $('#template').html();
var parseTags = new Array();
parseTags.push("[[");
parseTags.push("]]");
Mustache.parse(template,parseTags); // optional, speeds up future uses
var rendered = Mustache.render(template, {name: "<%Luke%>"});
【讨论】:
在 app.js 中,使用以下 sn-p 中的最后一行。前2个供参考:
// view engine setup
app.set('views', path.join(__dirname, 'views/templates'));
app.set('view engine', 'hjs');
app.locals.delimiters = '{| |}';
【讨论】:
现在有一种更简洁的方法可以做到这一点,并且记录得很好。 https://github.com/janl/mustache.js/
var customTags = [ '<%', '%>' ];
Mustache.render(template, view, {}, customTags);
//Either tell mustache to use them each time
Mustache.render(template, view, {}, customTags);
//Or override the tags property and Mustache knows what to do until you tell it otherwise
Mustache.tags = customTags;
var updateTemplate = '<small class="text-muted">Last updated <% updated_at %> by <% updated_by %></small>';
var html = Mustache.render(updateTemplate, {updated_at:'2019-11-18 14:54:20',updated_by:'abc'});
【讨论】: