我在KO进行实时搜索时遇到问题。它与我的模板绑定,但现在与联系人,如何解决这个问题?
这是应用:http://jsfiddle.net/ovesyan19/uc8ubcy8/10/
<input data-bind="textInput: filter" class="search_input form-control input-lg" maxlength="18" placeholder="Search...">
<div class="cl_wrapper">
<div class="contacts" data-bind="template: {name: 'contactTemplate', foreach: filteredContacts}"></div>
</div>
self.filter = ko.computed({
read: function(data){
if(!data || data == 'undefined') {
self.filteredContacts = self.contacts;
}
},
write: function (data) {
var x = ko.utils.arrayFilter(self.contacts(), function (item) {
return item.conName().toLowerCase().indexOf(data.toLowerCase()) >= 0;
});
self.filteredContacts(x);
}
});
我找到了解决方案,但仍然存在问题。当我按键过滤工作正常,但当我开始删除字母时,它不会显示我的联系人列表。我该如何解决这个问题?
答案 0 :(得分:0)
也许您需要将dependentObservable重命名为“contacts”之外的其他内容,因为您已经拥有一个同名的observableArray?
self.filteredContacts = ko.dependentObservable(function(){
当然也改变数据绑定......
foreach: filteredContacts