在我的 ViewModel 中,我有:
self.collaps = ko.observableArray([0,0,0,0,0,0,0]);
self.shouldShow = function(index) { return self.collaps()[index]; };
我的测试 div:
<div data-bind="visible: shouldShow(5)">Shown!</div>
我data-bind
有一个按钮click: show
:
self.show = function() {
// 1. Index 5 gets true after 2 clicks!!? But UI never updates!
self.collaps()[5] = true;
// 2. This is push-ing in true starting at index 0
self.collaps.replace(self.collaps()[5], true);
// 3. If I combine the two, I get the behavior I want, I think :)
self.collaps()[5] = true;
self.collaps.replace(self.collaps()[5], true);
};
这里发生了什么?这样做的正确方法是什么?
----> JSFIDDLE 为您服务!<----