0
我有我的視圖模型中的位置observableArray。UI不更新時,它應該
- 我使用locations數組創建複選框列表。
- 我還使用位置數組在UI中顯示選中的位置。
當複選框被選中時,視圖模型被更新。但是,顯示的位置不會更新。
<ul data-bind="foreach: locations">
<li data-bind="text: name, visible: checked"></li>
</ul>
<ul data-bind="foreach: locations">
<li>
<input type="checkbox" data-bind="value: id, checked: checked" />
<span data-bind="text: name"></span><br/>
</li>
</ul>
<br/>
<button data-bind="click: debug">Debug</button>
var locations = [
{'id': 1, 'name': 'PP', 'checked': false},
{'id': 2, 'name': 'Ta keo', 'checked': false},
{'id': 3, 'name': 'Kompong Som', 'checked': true}
];
var viewModel;
viewModel = (function() {
function viewModel(locations) {
self = this;
this.locations = ko.observableArray(locations);
this.debug = function() {
alert(JSON.stringify(self.locations()));
};
}
return viewModel;
})();
ko.applyBindings(new viewModel(locations));
這裏是一個小提琴: http://jsfiddle.net/bL7weqkz/
儘管如此,當它們映射到視圖模型中時,使它們可觀察將更爲合適。 – 2014-11-01 22:31:47