小胡子 {{{partial}}} 与 {{> partial}}
mustache {{{partial}}} vs {{> partial}}
我的 node.js 应用程序中有一个 handlebars/mustache 布局文件,如下所示:
{{> header}}
{{> navbar}}
{{{body}}}
{{> footer-user}}
{{> footer}}
既然五行都是include,那么这两种include有什么区别吗?我可以将 {{{body}}} 替换为 {{>body}} 或将 {{> header}} 替换为 {{{header}}} 吗?它们似乎都没有逃脱包含的 html 。最佳做法是什么?
语法 {{> name}}
用于部分,即包含另一个模板:
Handlebars allows for template reuse through partials. Partials are
normal Handlebars templates that may be called directly by other
templates.
而 {{{name}}}
用于包含数据而不对其进行转义。如果你想转义数据,你可以使用 {{name}}
:
Handlebars HTML-escapes values returned by a {{expression}}. If you
don't want Handlebars to escape a value, use the "triple-stash", {{{.
所以它们是不同的东西。
{{{body}}}
在您的应用程序提供的当前上下文中引用 body
属性(或者它可以引用辅助函数,但此处不是这种情况)。
如果代码中有 {{>body}}
,则意味着您有一个名为 body
的模板,您希望 handlebars 加载该模板。
请注意,如果您正确使用 Handlebars,则需要通过调用 Handlebars.registerPartial
来注册所有部分(如果您的项目使用 express-handlebars
,它会为您完成所有工作,因此您不会找到这在代码中)。
可以在 handlebarsjs.com.
找到 Handlebars 的文档
我的 node.js 应用程序中有一个 handlebars/mustache 布局文件,如下所示:
{{> header}}
{{> navbar}}
{{{body}}}
{{> footer-user}}
{{> footer}}
既然五行都是include,那么这两种include有什么区别吗?我可以将 {{{body}}} 替换为 {{>body}} 或将 {{> header}} 替换为 {{{header}}} 吗?它们似乎都没有逃脱包含的 html 。最佳做法是什么?
语法 {{> name}}
用于部分,即包含另一个模板:
Handlebars allows for template reuse through partials. Partials are normal Handlebars templates that may be called directly by other templates.
而 {{{name}}}
用于包含数据而不对其进行转义。如果你想转义数据,你可以使用 {{name}}
:
Handlebars HTML-escapes values returned by a {{expression}}. If you don't want Handlebars to escape a value, use the "triple-stash", {{{.
所以它们是不同的东西。
{{{body}}}
在您的应用程序提供的当前上下文中引用 body
属性(或者它可以引用辅助函数,但此处不是这种情况)。
如果代码中有 {{>body}}
,则意味着您有一个名为 body
的模板,您希望 handlebars 加载该模板。
请注意,如果您正确使用 Handlebars,则需要通过调用 Handlebars.registerPartial
来注册所有部分(如果您的项目使用 express-handlebars
,它会为您完成所有工作,因此您不会找到这在代码中)。
可以在 handlebarsjs.com.
找到 Handlebars 的文档