使用Dust.JS 2.7.2到ul / li标记

时间:2015-08-22 20:54:17

标签: dust.js

我尝试在Dust 2.7.2中渲染对象结构,例如

{
   name:"Home Page",
   url: "/",
   "sub-page1": {
        name: "Sub Page 1",
        url: "/sub-page1",
        "sub-sub-page1": {
             "name": "Sub Sub Page1",
             "url": "/sub-page1/sub-sub-page1"
        }
    }
}

类似



<ul><li><a href="/">Home Page</a><ul><li><a href="/subpage1">Sub Page 1</a> ...
&#13;
&#13;
&#13;

带有递归部分,但我似乎无法循环遍历可变命名的对象而不会导致无限循环。 我当前的尝试看起来像这样,部分调用本身:

&#13;
&#13;
<li>
    <a href="{url}">{name}</a>{#.}<ul>{>"components/menu/recurlist"/}</ul>{/.}
</li>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

每次更改时,Dust都无法猜测嵌套上下文对象的名称。你真的需要在所有级别保持嵌套结构相同。如果你绝对必须,你可以编写自定义助手来解决这个问题,但这不属于这个问题的范围。

数据标准化后,您的模板就变得简单了:

<ul>
  <li><a href="{url}">{name}</a>
    {#subpage}{>"components/menu/recurlist"/}{/subpage}
  </li>
</ul>