gpt4 book ai didi

javascript - 问题过滤 Knockout.js 可观察数组

转载 作者:行者123 更新时间:2023-12-03 08:22:03 24 4
gpt4 key购买 nike

我有一个 knockout.js 应用程序,它有一个可观察的数组。我已向可观察数组添加了一个过滤器。过滤工作正常。问题是我在过滤数据时调用另一个函数。这是我的功能:

self.filterResults = function(){
var value = self.searchInput().toLowerCase();
if(value != ''){
clearMarkers();
self.burgerList(self.burgerList().filter(function(data){
addmarker(data.lat(), data.long(), data.id(), data.name(), data.comments());
return data.name().toLowerCase().startsWith(value);
}));
}else{
showMarkers();
self.burgerList(self.burgerListClone());
}
};

当我在进行过滤时调用 addmarker 时,似乎存在延迟。

我已将所有代码粘贴到 jsfiddle 中以展示我正在做的事情的示例: https://jsfiddle.net/maL3zqgq/5/

最佳答案

由于您是在过滤之前添加标记,因此您将看到上一个过滤器的结果。您需要在过滤后添加标记:

         self.burgerList(self.burgerList().filter(function(data){
return data.name().toLowerCase().startsWith(value);
}));
clearMarkers();
self.burgerList().forEach(function(data){
addmarker(data.lat(), data.long(), data.id(), data.name(), data.comments());
});

https://jsfiddle.net/mbest/maL3zqgq/6/

关于javascript - 问题过滤 Knockout.js 可观察数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33702598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com