2016-08-13 66 views
1

我有一个'不可观察'的视图模型中的对象数组,我想根据数组渲染一些div-s。上述如果块内敲除不可观察的数组长度

<div data-bind="foreach: sequences"> 
    <!-- ko if: $parent.sequences.length-1 > $index --> 
     <div>Some content </div> 
    <!-- /ko -->   
</div> 

代码应该渲染除最后一个所有元素的div,但它不工作,我没有得到任何错误,我不知道发生了什么事?

回答

1

$index是可观察到的,所以你需要使用$index()

<div data-bind="foreach: sequences"> 
    <!-- ko if: $parent.sequences.length-1 > $index() --> 
     <div>Some content </div> 
     <div data-bind="text: $data"></div> 
    <!-- /ko -->   
</div> 

演示JSFiddle

+0

谢谢,就是它了。我认为错误是在条件的第一部分,因为我尝试解决方案: <! - ko if:$ parent.sequences.length-1 === 3 - > 并且它不起作用。 – Milos

1

您可以使用可见此绑定:

<div data-bind="foreach: sequences"> 
    <div data-bind="visible: $parent.sequences.length-1 > $index()"> 
     Some content 
    </div> 
</div> 
+0

谢谢,它也有效,但'namesv'回答最适合我的问题,我接受他的回答:) – Milos