Javascript 递归下划线模板
我有以下类型的数组Javascript 递归下划线模板,javascript,backbone.js,recursion,underscore.js,underscore.js-templating,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" }] }] }] }] 为了呈现它
[{
tag:'a',
href:"#",
title:"test",
children:[{
tag:"div",
id:"nested-image",
children:[{
tag:"img",
src:"image.jpg"
}]
}]
}]
}]
为了呈现它,我使用下划线模板。我使用文本插件加载模板
我正在使用以下函数进行渲染
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
<%}%>
<%}%>
d、 a
d、 b
0){%>
//调用相同的模板本身
//我不知道该怎么做
如果函数调用自身并且一切正常,那么它将不会遍历第一级的所有子级,因为只有一个层次结构。它不会遍历所有子级。我想实现类似这样的功能嘿,这应该很有用@ezpura I have nested children属性。如果我使用这种方法,它会起作用只需要一个级别就可以了,我不知道它会有多少嵌套子对象,所以我不能使用iteative apporach。这就是为什么需要递归。@ezpura我想做类似于此url的事情。您将
compiledTpl
存储在哪里?它真的是\ucode>对象的属性吗?compiledTpl是我使用的下划线.mixin文件的一部分我正在使用