所以我有一個模板,我正在使用一些對可能有子元素的對象進行遞歸。我已經得到了if語句的工作方式,我希望如何(我認爲)。但是,如果我在if語句之前有額外的li,我的子元素纔會顯示出來。KnockoutJS只顯示我的模板,如果我有一個額外的li
這裏是我的模板
<script type="text/html" id="journalTemplate">
<li data-bind="text: Description">
<div>
<li data-bind = "visible: IsGroup"></li>
<!-- ko if: IsGroup -->
<ol data-bind="template: {name: 'journalTemplate', foreach: ChildEntities}">
</ol>
<!-- /ko -->
</div>
</li>
我使用數組的映射,所以沒有真正的視圖模型來展示,但C#對象很簡單:它有一個說明,一個布爾IsGroup ,以及一個ChildEntities列表(如果IsGroup爲false,則爲null,作爲附註)。如果我沒有空li,if語句的註釋塊甚至不會顯示出來。
任何想法?
我不是很追隨。上面的模板有效嗎?或者在KO if語句之前需要另一個LI元素才能工作?目前您的標記無效。你不能在div裏面有一個LI元素。 – madcapnmckay
你可以添加你的問題的jsfiddle。 – madcapnmckay
@madcapnmckay:現在它可以工作,但是當我實際上不需要那個li時,它有
。我只是想要文本和子文件。 (我已經刪除了div,我只是補充說希望能夠解決我的問題,但它沒有)。我不知道如何建立一個jsfiddle,因爲我正在從我的數據庫中的實際數據填充我的js對象。不過,我會開始嘲笑一些東西。 –