jsRender递归模板

时间:2012-05-07 20:14:35

标签: javascript jsrender

我正在尝试使用jsRender以递归方式实现模板。问题是,我的数据对象有一个一元的自引用层次结构,它需要递归循环来显示所有属性。这里的示例是一个论坛帖子,其中可以包含任意数量的回复帖子。每个回复帖子可以包含任意数量的子帖子等。我有以下代码工作,除了递归部分。我只能通过谷歌找到一个远程引用,所以这是我到目前为止:

<script id="forumPostsTemplate" type="text/x-jsrender">
    <article class="forumPost">
        <header class="forumPostHeader">{{:PostSubject}}
            <div class="info">By: Some Person, {{:CreatedDate}} <a href="">Flag as innapropriate</a> </div>
        </header>
        <div class="content">
        {{:PostContent}} 
        {{for Replies}}
            {{:Replies tmpl="#forumPostsTemplate"}}
        {{/for}}
        </div>
    </article>
</script>

有没有人有这种功能的经验?我目前正在运行最新版本的jsRender,如果有帮助的话。

2 个答案:

答案 0 :(得分:2)

根据jsRender的这个示例,是否可以像这样调用模板?

https://github.com/BorisMoore/jsrender/blob/master/demos/step-by-step/06_template-composition.html

 {{for Replies tmpl="#forumPostsTemplate"/}}

答案 1 :(得分:0)

这三个不同版本的树标记控件正好说明了这种递归:
http://www.jsviews.com/#samples/tag-controls/tree