所以我最近插入了我想成为一个过滤系统到我的项目使用knockout.js。我将下面的代码插入到我的项目中。淘汰赛js:ko.utils.arrayFilter工作不正常
self.pointsFilter = ko.computed(function(){
return ko.utils.arrayFilter(self.pointsList(), function(pointItem){
return pointItem.done = true;
})
});
这里是我exisiting代码前面:
var point = function(obj){
var self = this;
this.name = obj.name;
this.street = obj.street;
this.city = obj.city;
this.state = obj.stat;
this.zip = obj.zip;
this.food = ko.observable(obj.food);
this.lat = ko.observable(obj.lat);
this.lng = ko.observable(obj.lng);
this.map = map;
this.fullAddress = function(){
return self.street + self.city + "</br>" + self.state + self.zip;
};
this.formattedAddress = function(){
var currentStreet = self.street + self.city + self.state + self.zip;
var newAddress = currentStreet.replace(/ /g, '+');
return newAddress;
};
this.formattedName = function(){
var newName = self.name.replace(/ /g, '');
return newName;
}
}
和
var viewModel = function(){
var self = this;
var marker;
this.pointsList = ko.observableArray([]);
points.forEach(function(pointItem){
self.pointsList.push(new point(pointItem));
});
self.pointsList().forEach(function(pointItem){
console.log(pointItem.formattedName());
console.log(pointItem.formattedAddress());
pointItem.marker = marker;
marker = new google.maps.Marker({
position: new google.maps.LatLng(pointItem.lat(), pointItem.lng()),
map: map,
animation: google.maps.Animation.DROP,
});
google.maps.event.addListener(marker, 'click', function(){
if(infowindow.marker != marker){
marker.setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png'),
infowindow.open(map, this);
infowindow.setContent('<div><h1>' + pointItem.name +
'</h1><h2>' + pointItem.fullAddress() +
'</h2><img src=' + streetViewRequest +
'><div id="instafeed">' + '</div</div>' + instafeedRequest());
}
});
});
self.pointsFilter = ko.computed(function(){
return ko.utils.arrayFilter(self.pointsList(), function(pointItem){
return pointItem.done = true;
})
})
}
如果您想填充的GitHub库,你可以在这里找到 current github repository
https://stackoverflow.com/questions/15647114/if-statement的可能欺骗 - 被忽视 – JohnnyHK