将数据正确传递到另一个灰尘模板

时间:2016-03-22 15:49:57

标签: html dust.js

有一个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来帮助它。

1 个答案:

答案 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}

在您的上下文中放置等于truefalse

的变量
{@partial placeholder="region" readonly=FalseContextVar}