递归下划线模板

时间:2015-03-25 11:37:02

标签: javascript backbone.js recursion underscore.js underscore.js-templating

我有以下类型的数组。

[{
  tag:'a',
  href:"#",
  title:"test",
  children:[{
         tag:"div",
         id:"nested-image",
         children:[{
                    tag:"img",
                    src:"image.jpg"
                   }]
         }]
  }]
}]

为了渲染它,我使用的是Underscore模板。我使用了文本插件来加载模板

我正在使用以下功能进行渲染。

  compiledTpl: function(tpl, data) {
        var data = data || {};
        var compiled = _.template(tpl);
        return compiled(data);
    },

从其中一个模板中调用以下函数:

  

在模板内部,我正在迭代数据对象:

 <%_.each(data),function(d){%>
       <p>d.a</p>
       <p>d.b</p>
       <%if(d.children.length>0){%>
        //call same template itself
        <%= _.compiledTpl(tpl1,{'data':data} ) %>//not sure how to do that
      <%}%>
 <%}%>

如果函数调用自身并且一切正常,那么它将不会遍历第一级的所有子级,因为只有一个层次结构存在。它不会遍历所有孩子。我希望实现类似http://techdive.in/java/recursive-templates-underscore-js

的目标

0 个答案:

没有答案