Knockout.js 敲除js在第二次绑定后保持元素的显示/隐藏

Knockout.js 敲除js在第二次绑定后保持元素的显示/隐藏,knockout.js,Knockout.js,我在knockout.js中有以下代码 使用javascript,单击div元素时,我将其隐藏。 但是在ajax请求之后的第二个绑定中,div再次显示 <div id="myrootDiv"> <!-- ko foreach: Items --> <div class="myclass" data-bind="html: myData"></div> <!-- /ko --> </div> 我将如何

我在knockout.js中有以下代码 使用javascript,单击div元素时,我将其隐藏。 但是在ajax请求之后的第二个绑定中,div再次显示

<div id="myrootDiv">
    <!-- ko foreach: Items -->
    <div class="myclass" data-bind="html: myData"></div>
    <!-- /ko -->
</div>
我将如何记住每个绑定的可见性? 当我打电话时

ko.mapping.fromJS(jsonData,{}, myVM);
所有div元素将再次显示。如何根据用户选择使它们不可见。 这是我的视图代码

    var ViewModel = function() {};
    var myVM = new ViewModel('myrootDiv');

var tempjson={"items":[{"id":"1","myData":"test data1"},{"id":"2","myData":"test data2"},{"id":"3","myData":"test data3"}]};

    var jsonData =$.parseJSON(tempjson);
    ko.mapping.fromJS(jsonData,{}, myVM);
    ko.applyBindings(myVM,document.getElementById('myrootDiv'));
在ajax的成功上,我做到了

ko.mapping.fromJS(jsonData,{}, myVM);

不太清楚第二个绑定是什么意思,但通常可以通过添加isVisible=ko.observateTrue来实现;对items数组中的单个项,然后在html中使用以下内容行

<!-- ko foreach: Items -->
<div data-bind="html: myData, visible: isVisible">
</div>
<!-- /ko -->

isVisibile属性跟踪项目是否可见。Elsee在您的代码中,您可以根据需要打开或关闭每个项目的可见性。

我已经更新了我的代码,这里是一个示例json。我将如何在我的视图和每个ajax请求中添加isVisible以仅显示用户单击的元素?谢谢
<!-- ko foreach: Items -->
<div data-bind="html: myData, visible: isVisible">
</div>
<!-- /ko -->