0

视觉模板/调用模式是否包含默认值?

给定一个模板:

模板.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>

这可能吗?我想在助手中使用它,说我有一个默认情况下通常为“真”的标志,但我希望能够在某些情况下设置为假。

谢谢你

4

1 回答 1

4

根据HTL (Sightly) 规范,您不能以这种方式设置默认参数。模板块表达式中的值是使用提示。

当模板调用中缺少某些参数时,该参数将在模板中初始化为空字符串。

但是,您可以使用逻辑 OR 运算符在 HTL 块表达式中设置默认值。使用您的示例:

<template data-sly-template.tmpl=${ @ foo='foo hint', baz='buzz hint' }>
    <p>the value of foo is ${foo || 'bar'}</p>
</template>
于 2016-08-16T04:29:04.207 回答