我试图制作一个基于标题过滤掉位置的搜索功能。但我似乎无法弄清楚如何获得位置数组中的标题。我已经尝试过location.title,然后以未定义的方式返回。
var locationArray = [
{title:'State House', location:{lat: 41.763711, lng:-72.685093} },
{title:'Hartford School', location:{lat: 41.755042, lng:-72.665532} },
{title:'BurgerKing', location:{lat: 41.757419, lng:-72.664175} },
{title:'Subway', location:{lat: 41.767228, lng:-72.676470} },
{title:'Quiznos', location:{lat: 41.764117, lng:-72.671873} }
];
var ViewModel = function() {
var self = this;
self.filter = ko.observable('');
self.items = ko.observableArray(locationArray);
console.log(locationArray);
self.filteredItems = ko.computed(function() {
var filter = self.filter();
if (!filter) { return self.items(); }
return self.items().filter(function(i) { return i.indexOf(filter) > -1; });
});
};
ko.applyBindings(new ViewModel());
答案 0 :(得分:0)
你很近,请查看这个更新的小提琴 https://jsfiddle.net/0qy8qmgm/1/
我只会改变
return self.items().filter(function(i) { return i.indexOf(filter) > -1; });
这个
return self.items().filter(function(i) { return i.title.indexOf(filter) > -1; });