Javascript 如何递归调用/运行jQuery嵌套模板
好的,这有点像json对象和jquery模板的初始阶段。。。我想知道如何更深入。问题是我很懒,希望代码能帮我完成工作 Q:>如何递归调用jQuery模板。Javascript 如何递归调用/运行jQuery嵌套模板,javascript,jquery,html,recursion,jquery-templates,Javascript,Jquery,Html,Recursion,Jquery Templates,好的,这有点像json对象和jquery模板的初始阶段。。。我想知道如何更深入。问题是我很懒,希望代码能帮我完成工作 Q:>如何递归调用jQuery模板。 以这个json对象为例: var Links = [{"Name":"Home","NiceUrl":"/home/","Children":null}, {"Name":"MX-8","NiceUrl":"/mx-8/","Children":null}, {"Name":"Quiz","NiceUrl":"/quiz/","Child
以这个json对象为例:
var Links =
[{"Name":"Home","NiceUrl":"/home/","Children":null},
{"Name":"MX-8","NiceUrl":"/mx-8/","Children":null},
{"Name":"Quiz","NiceUrl":"/quiz/","Children":
[{"Name":"Thank you","NiceUrl":"/quiz/thank-you/","Children":
[{"Name":"Can't get here","NiceUrl":"/URL/","Children":null}]
}]
}];
我可以使用以下模板轻松访问“测验”及其子项“谢谢”:
<script id="itemTemplate" type="text/x-jquery-tmpl">
<li><a href="${NiceUrl}">${Name}</a>
{{tmpl($data) "#childTemplate"}}
</li>
</script>
<script id="childTemplate" type="text/html">
<ul>{{each Children}}<li><a href="${NiceUrl}">${Name}</a></li>{{/each}}</ul>
</script>
{{tmpl($data)“#childTemplate”}
{{each Children}{{/each}
还使用了html和替换它的调用:
<script type="text/javascript">
$("#itemTemplate").tmpl(Links).appendTo("#SiteMapHolder");
</script>
<ul id="SiteMapHolder">
<%--jQuery Template will replace this empty space--%>
</ul>
$(“#itemTemplate”).tmpl(Links).appendTo(“#SiteMapHolder”);
我尝试将第二个模板的类型设置为“text/x-jquery-tmpl”并调用第三个模板,但传递的数据似乎与调用它的父模板相同
那么,对于所有具有更高智能和经验的生物,那么我,告诉我如何懒惰并递归调用jQuery模板
PS:抱歉,这不在JSFIDLE中。它不喜欢我的脚本标签:(我认为您只需要检查子项是否存在,并使用子项作为数据对同一项模板进行递归调用。您还可以有条件地添加ul标记。请参阅此JSFIDLE了解我的意思: 我使用的模板本身如下所示:
<script id="itemTemplate" type="text/x-jquery-tmpl">
<li><a href="${NiceUrl}">${Name}</a>
{{if Children}}
<ul>
{{tmpl(Children) "#itemTemplate"}}
</ul>
{{/if}}
</li>
{{if Children}}
{{tmpl(子项)“#itemTemplate”}
{{/if}
有没有哪位mod知道如何使其色彩鲜艳,从而更易于阅读?在《盗梦空间》将嵌套虚拟机的概念引入大众之前,我的一位同事/朋友决定尝试在使用各种不同药物时编程(那是70年代)。他做了acid,但在它生效后,他从来没有做过多少编程。他说他看了某个函数的递归定义,然后开始笑。然后他笑了笑他在笑的事实…@mike我在笑我自己笑这个。恶性循环什么时候会结束!!如果没有基本情况,堆栈顶部就是limit.you有任何代码示例可以让我从正确的方向开始吗?您可能在我编辑答案时添加了您的注释。我没有包含我认为符合您需要的JSFIDLE,我还包含了我认为您需要的模板。非常感谢heaps。现在我可以看到它了,它非常简单。它可以调用它本身。我只是把它弄得一团糟。再次感谢。没问题。当我说“不包括JSFIDLE”时,我的评论应该说“现在”而不是“不”。