2015-05-19 104 views
1

我想用KendoUI構建ListView。因此,我需要創建ClientTemplateKendoUI遞歸模板

但我想知道的是,在創建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。我會將孩子們的格式設置爲稍微標籤。

任何幫助,我將不勝感激。

+0

有些工作示​​例你可以做一個小提琴/道場與您現有的方法? –

+0

這是一個但很難,因爲我使用KendoUI圖書館。不太清楚如何鏈接in.But這是一個鏈接,它顯示了這個實現但不遞歸。 http://demos.telerik.com/aspnet-mvc/listview/index我剛剛創建了一個模型,其中有一個模型列表來模仿一個孩子。所以你想要做的是遞歸地顯示每個孩子,直到你在樹的「葉」。希望這是有道理的。 –

回答

2

你不需要做#foreach你的模板中,只需打個電話給

#= kendo.render(kendo.template($("\\#template").html()), data.ChildElements) # 

您可能會遇到一個錯誤,如果最底端的子元素沒有ChildElements屬性在這種情況下,只需添加一個

# 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

+0

謝謝你。對此做了一些改進,效果很好。 http://jsbin.com/xavuwinobe/2/edit –