【问题标题】:jsRender Recursive TemplatingjsRender 递归模板
【发布时间】:2012-05-07 20:14:35
【问题描述】:

我正在尝试实现一种使用 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。

【问题讨论】:

  • 尝试DoT模板,将重复部分编译为一个模板,然后递归调用它,将当前项目的子项作为项目传递

标签: javascript jsrender


【解决方案1】:

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

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

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

【讨论】:

  • 宾果游戏!就是这样。完美运行。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多