0
我需要一些幫助在這裏:https://jsfiddle.net/vhaurnpw/淘汰賽觀察到的數組不會重新渲染我的名單
我想做一個簡單的列表,這是在頂部和更新自身的輸入過濾..
JS /基因敲除:
var viewModel = {
query: ko.observable(''),
places: ko.observable(data),
search: function(value) {
viewModel.places = [];
console.log(value)
for (var i = 0; i < data.length; i++) {
if(data[i].name.toLowerCase().indexOf(value.toLowerCase()) >= 0) {
viewModel.places.push(data[i]);
}
console.log(viewModel.places);
}
}
};
viewModel.query.subscribe(viewModel.search);
ko.applyBindings(viewModel);
HTML:
<form acion="#" data-bind="submit: search">
<input placeholder="Search" type="search" name="q" data-bind="value: query, valueUpdate: 'keyup'" autocomplete="off">
</form>
<ul data-bind="foreach: places">
<li>
<span data-bind="text: name"></span>
</li>
</ul>
將顯示列表,但當您鍵入內容時,它不會顯示結果。
相反,當你查找控制檯,你會看到console.log,它更新得很好!
那麼我如何刷新我的HTML? :(
通過調用它們可觀測值。這行'viewModel.places = [];'需要'viewModel.places([])''。 – user3297291
謝謝!那個和可觀察的陣列得到它的工作! – Shouldz