7

我有一个任意深度的树结构,我想用 Handlebars 显示它。我没有看到任何递归的方法。如果我知道深度,我想我可以对其进行硬编码,但它可以是任意深度。

像这样的东西,但它需要在显示子部分递归。

{{#aNode}}
    {{id}
    {{name}}
    {{description}}
    ...spew this same template with each member of {{#children}}...
{{/aNode}}

Handlebars 有迭代集合的方法,但我看不到递归到子项中的方法

4

2 回答 2

6

发现您可以使用委托/嵌入式文件技术来做到这一点。所以,它看起来像这样:

spew_a_node.mustache(我正在使用 Mustache 实现):

{{#aNode}}
    {{id}
    {{name}}
    {{description}}
    {{#children}}
        {{> spew_a_node}}
    {{/children}}    
{{/aNode}}
于 2013-10-08T20:22:03.653 回答
4

这是一篇不错的文章和 jsfiddle 准确描述了如何做到这一点(这或多或少是 Chris Kessel 在他的回答中所描述的):

http://www.boduch.ca/2014/03/recursive-list-building-with-handlebars.html

于 2014-06-11T15:29:01.043 回答