我可以尝试使用KendoUI
构建ListView
。
因此,我需要创建一个ClientTemplate
。
但是我想知道的是,在创建ClientTemplate
之后,我如何在自己内部使用该模板。
换句话说,如果有意义的话,我想创建一个Recursive Template
。
这是我目前为止写的:
<script type="text/x-kendo-tmpl" id="template">
<div class="submenu-item">
#:Name#
</div>
<div class="submenu-children">
# foreach (var child in ChildElements ) { #
// In here I want to reuse this same template.
#}#
</div>
</script>
这背后的想法是,这样我就可以创建一个ListView
的元素和它的所有子元素。我会将子元素的格式设置为稍微加标签。
您不需要在模板中执行#foreach,只需调用
#= kendo.render(kendo.template($("\#template").html()), data.ChildElements) #
如果最下面的子元素没有childdelements属性,你可能会遇到错误,在这种情况下,只需添加
# if(data.ChildElements !== undefined && data.ChildElements.length > 0 ) { #
#= kendo.render(kendo.template($("\#template").html()), data.ChildElements) #
# } #
参见http://jsbin.com/fagawo/1/edit?html,js,output