搜索,使用knockout进行筛选
问题描述:
我在使用KO进行搜索时遇到问题。它与我的模板绑定,但现在与联系人,如何解决这个问题?搜索,使用knockout进行筛选
这是应用程序: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);
}
});
我已经找到了解决方案,但它仍然有一个问题。当我按键过滤工作正常,但是当我开始删除字母时,它不会显示我的联系人列表。我怎样才能解决这个问题?
答
也许你需要将你的dependentObservable重命名为'contacts'以外的东西,因为你已经有一个名字相同的observableArray了?
self.filteredContacts = ko.dependentObservable(function(){
,改变过程中的数据绑定...
foreach: filteredContacts
+0
是的,它需要在js文件中更改,但在html中,如果我更改为“foreach:filt_cont”,它将不会应用绑定,因为它是我的模板。 – ovesyan 2014-11-02 11:14:29
有人能帮忙吗? – ovesyan 2014-11-02 21:47:21
旁注;我不认为任何人使用“dependentObservable”太 – Retsam 2014-11-04 02:32:10
@Retsam你有任何想法更新的问题? – ovesyan 2014-11-09 13:00:23