2014-10-06 32 views
0

具有以下模板,但它不按預期呈現。有些東西與淘汰賽的控制流。 名稱屬性應該在div之間,如果聲明但是它沒有聲明到兩個之間。我錯過了什麼?嵌套如果foreach中的塊不按預期方式呈現

<!-- ko foreach: userAddresses --> 
    <div data-bind="text: name"></div> // this prints correctly 
    <!-- ko if: shouldStartNewRow($index) --> 
    <div class="row"> 
    <!-- /ko --> 
     <div class="col-xs-4 text-left"><div data-bind="text: name"></div></div> // nothing prints here 
    <!-- ko if: shouldStartNewRow($index) --> 
    </div> 
    <!-- /ko --> 
<!-- /ko --> 

這將產生:

<div>Joe blow</div> 
<div class="row"> 
    <div class="col-xs-4 text-left"><div> </div></div> // missing Joe blow here. it does produce a single space 
</div> 

更新:
創建一個fiddle顯示的問題。看起來,如果不能在一個條件塊中整齊關閉所有的HTML,這會導致淘汰賽失控。

+0

此之前已經回答了: http://stackoverflow.com/a/18157118/1287183 – 2014-10-06 23:40:34

+0

可能重複[創建每2記錄使用敲除foreach新行記錄](http://stackoverflow.com/questions/18156558/create-new-row-every-2 -記錄-using-knockout-foreach) – 2014-10-06 23:41:00

回答

0

只是嘗試

<div data-bind="text: $data.name"></div> 

此外我認爲你不能有一個註釋內未關閉的元素,如果塊

所以應該比較像:

<!-- ko foreach: userAddresses --> 
    <div data-bind="text: name"></div> 
    <!-- ko if: shouldStartNewRow($index) --> 
    <div class="row"> 
     <div class="col-xs-4 text-left"><div data-bind="text: name"></div></div> 
    </div> 
    <!-- ko ifnot: shouldStartNewRow($index) --> 
     <div class="col-xs-4 text-left"><div data-bind="text: name"></div></div> 
    <!-- /ko --> 
<!-- /ko --> 
+0

試過了,但仍然沒有打印。 – TugboatCaptain 2014-10-06 20:24:12

+0

做了一個更新,也許它有幫助 – 2014-10-06 20:27:32

+0

設置一個小提琴將是一個很大的幫助 – 2014-10-06 20:33:59

相關問題