Sightly 模板默认值
Sightly template default values
Sightly template/call 模式是否包含默认值?
给定一个模板:
template.html
<template data-sly-template.tmpl=${ @ foo='bar', baz='buzz' }>
<p>the value of foo is ${foo}>
</template>
假设调用方式为:
<sly data-sly-use.myTemplate="template.html"
data-sly-call="${myTemplate.tmpl}"/>
我想要输出:
<p>the value of foo is bar</p>
这可能吗?我想在 helpers 中使用它,比如我有一个默认情况下通常为 "true" 的标志,但我希望在某些情况下能够设置为 false。
谢谢
根据 HTL (Sightly) specification,您不能以这种方式设置默认参数。模板块表达式中的值是使用提示。
When some parameters are missing in a template call, that parameter would be initialised to an empty string within the template.
但是,您可以使用逻辑或运算符在 HTL 块表达式中设置默认值。使用您的示例:
<template data-sly-template.tmpl=${ @ foo='foo hint', baz='buzz hint' }>
<p>the value of foo is ${foo || 'bar'}</p>
</template>
Sightly template/call 模式是否包含默认值?
给定一个模板:
template.html
<template data-sly-template.tmpl=${ @ foo='bar', baz='buzz' }>
<p>the value of foo is ${foo}>
</template>
假设调用方式为:
<sly data-sly-use.myTemplate="template.html"
data-sly-call="${myTemplate.tmpl}"/>
我想要输出:
<p>the value of foo is bar</p>
这可能吗?我想在 helpers 中使用它,比如我有一个默认情况下通常为 "true" 的标志,但我希望在某些情况下能够设置为 false。
谢谢
根据 HTL (Sightly) specification,您不能以这种方式设置默认参数。模板块表达式中的值是使用提示。
When some parameters are missing in a template call, that parameter would be initialised to an empty string within the template.
但是,您可以使用逻辑或运算符在 HTL 块表达式中设置默认值。使用您的示例:
<template data-sly-template.tmpl=${ @ foo='foo hint', baz='buzz hint' }>
<p>the value of foo is ${foo || 'bar'}</p>
</template>