如果阻塞,则敲除内部不可观察的数组长度

时间:2016-08-13 12:23:52

标签: javascript knockout.js data-binding

我在视图模型中有一个'不可观察的'对象数组,我想根据数组渲染一些div。

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

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

2 个答案:

答案 0 :(得分:1)

<script> $(document).ready(function() { $('#photoimg').die('click').live('change', function() { $("#imageform").ajaxForm({target: '#preview', beforeSubmit:function(){ console.log('ttest'); $("#imageloadstatus").show(); $("#imageloadbutton").hide(); }, success:function(){ console.log('test'); $("#imageloadstatus").hide(); $("#imageloadbutton").show(); }, error:function(){ console.log('xtest'); $("#imageloadstatus").hide(); $("#imageloadbutton").show(); } }).submit(); }); }); </script> 是一个可观察的,因此您需要使用$index

$index()

演示JSFiddle

答案 1 :(得分:1)

您可以使用可见绑定:

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