将灰尘模板渲染到第n个子节点

时间:2013-05-28 23:52:55

标签: javascript templates dust.js

我从服务器接收一个json对象,其中包含嵌套元素和n个层的树状菜单数据。我需要这个能够深入到他们可能的许多子元素。

有没有办法使用Dust.js模板递归循环遍历对象的子元素?

这方面的一个例子是:

{#assignment}
     {#childAssignment}
         {#nChildAssignment}
             //etc, etc, etc into the dark pits of mordor
         {/nChildAssignment}
     {/childAssignemnt}
{/assignment}

1 个答案:

答案 0 :(得分:1)

我建议使用partial,并递归调用partial。所以,如果你有这样的JSON:

{
  "assignment": {
    "value": "foo",
    "assignment": {
      "value": "bar",
      "assignment": {
         ...
         "assignment": {
           "value": "last one"
         }
      }
    }
  } 
}

然后您的模板recusive_assignment.dust可能如下所示:

{#assignment}
  {value}
  {?.assignment}
    {>recursive_assignment.dust}
  {/.assignment}
{/assignment}