[英]Access and iterate array property of Kendo UI Listview inside the template
我有一個Kendo UI Mobile Listview
<ul data-role="listview" data-bind="source: customers" data-template="customer-template"/>
現在,我想訪問customer
的屬性,它是一個數組,並在模板中對其進行迭代。 像這樣的東西
<script type="text/x-kendo-template" id="customer-template">
<div>#:CustomerName#</div>
<div>
<div>Orders</div>
#for(x=0;x<customers.orders.lentgh(); x++){#
<div>customers.orders.[x].OrderId</div>
#}#
</div>
顯然,這行引發錯誤
#for(x=0;x<customers.orders.lentgh(); x++){#
<div>customers.orders.[x].OrderId</div>
#}#
是否可以在模板內部訪問listview的數據源? 有任何想法嗎?
您不需要列表視圖的數據源。 從該數據源為模板提供了一個項目,您可以代替使用它。
還有其他一些問題:
orders
是一個JavaScript數組,則應通過length
字段獲取其長度。 這不是一種方法。 length
拼寫錯誤。 orders[x]
而不是orders.[x]
。 #: #
表達式。 <ul>
創建的,但是模板是<div>
。 您不能將<div>
嵌套在<ul>
。 您應該改為使用<li>
。 <ul>
元素不能自動關閉。 您需要完全關閉它- <ul></ul>
。 我已經在下面的代碼片段中解決了所有這些問題:
<ul data-role="listview" data-bind="source: customers" data-template="customer-template"></ul>
<script type="text/x-kendo-template" id="customer-template">
<li>
<div>#:CustomerName#</div>
<div>Orders</div>
#for(var x=0; x < orders.length; x++){#
<div># orders[x].OrderId #</div>
#}#
</li>
</script>
另外,這里還有一個現場演示: http : //jsbin.com/aHExUWu/1/edit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.