KnockOut data-bind =“visible:需要帮助解决问题

时间:2014-09-02 05:08:50

标签: arrays knockout.js javascript

如果数组长度> 0,我想隐藏div。通过发出警告消息,我确认数组长度为= 0,然后div应该被隐藏。 但是当运行时,app div是可见的。

<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 个答案:

答案 0 :(得分: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>