2014-09-02 69 views
0

如果数组长度大于0,我想隐藏div。通过放置警告消息,我确认数组长度= 0,然后div应该隐藏。 但是,当运行应用程序的div可见KnockOut data-bind =“visible:需要帮助来解决问题

<body> 
    <form id="form1" runat="server"> 
    <div> 

    <div data-bind="visible: myValues().length > 0"> 
    You will see this message only when 'myValues' has at least one member. 
</div> 


    </div> 
    </form> 
</body> 
<script type="text/javascript"> 
    var viewModel = { 
     myValues: ko.observableArray([]) // Initially empty, so message hidden 
    }; 
    alert('The length of the array is ' + viewModel.myValues().length); 
</script> 

回答

1
<body> 
    <form id="form1" runat="server"> 
    <div> 

    <div data-bind="visible: myValues().length > 0"> 
    You will see this message only when 'myValues' has at least one member. 
    </div> 

您需要与applybindings结合这一点:

</div> 
    </form> 
</body> 
<script type="text/javascript"> 
    var viewModel = { 
     myValues: ko.observableArray([]) // Initially empty, so message hidden 
    }; 
    alert('The length of the array is ' + viewModel.myValues().length); 



    ko.applyBindings(viewModel); 
</script>