灰尘js局部不在循环内工作

时间:2013-06-05 06:33:50

标签: dust.js

我正在尝试做类似下面的代码。(尝试在循环中打印部分内容)

    {#projects
     {<greeting}
       Hello {.name}
     {/greeting}
    {/projects}

但我得到如下输出:

Hello
Hello
....

如您所见,部分未打印在循环内。

我的实际代码http://jsfiddle.net/WKxzb/1/

1 个答案:

答案 0 :(得分:1)

大多数文档示例都提供了类似这样的小提琴:http://jsfiddle.net/cnftm/

简而言之,在greeting.tl

Hello, {name}!

然后在projects.tl

{#projects}
  {>greeting /}
{/projects}

如果您存储name的位置恰好没有命名为name

{#projects}
  {>greeting name=someOtherVar /}
{/projects}

你想要参数化的任何东西必须是ahem,作为参数传递,并且不支持任何体。

这些例外是blocks with inline partials,就像这个小提琴一样:http://jsfiddle.net/PWYBr/1/

简而言之,在greeting.tl

Hello, {+name}Anonymous Coward{/name}!{~n}

然后在projects.tl

{#projects}
    {>greeting/}
    {<name}
        {name}
    {/name}
{/projects}

这适用于循环,但你不能重复使用页面上的其他问候部分...基本上,无论谁写{<name} 最后获胜,这样做都会奇怪的事情:

{>greeting/}
{<name}everybody{/name}

{#projects}
    {>greeting/}
    {<name}
        {name}
    {/name}
{/projects}