有一个base.tl,它包含两个列,如下所示:
<li class="column region">
{@partial placeholder = "region" id="column-region" }
{> "templates/partials/column" /}
{/partial}
</li>
<li class="column industry">
{@partial placeholder = "industry" id="column-industry" }
{> "templates/partials/column" /}
{/partial}
</li>
这是包含输入框的column.tl。我想其中一个是readonly而另一个不是。所以我像这样添加readOnly。 但我不知道如何将base.tl中的布尔值readOnly解析为此处。
<div class="column-content">
<input placeholder="{placeholder}"
class="add-preference-input"
type="text" {?readOnly}readonly{/readOnly} />
</div>
似乎我解析了像占位符一样的param,但它不能告诉它是一个布尔值。如何将布尔值解析为部分模板并让它被识别?是否有可能或者我必须使用javescript来帮助它。
答案 0 :(得分:0)
你是正确的,Dust不能直接将布尔作为params - 它们只是被字符串化。
但是,{?exists}
标记检查是否存在,而不是真实性。所以你有几个选择。
传递“true”和“”(空字符串)
而不是传递true和false{@partial placeholder="region" readonly="" id="column-region"}
使用dustjs-helpers中的{@eq}
助手
{@eq key="readonly" value="true" type="boolean"}readonly{/eq}
在您的上下文中放置等于true
和false
{@partial placeholder="region" readonly=FalseContextVar}