我真的很陌生,所以这可能超级简单,但我似乎无法让它工作。我有一个应用程序,它有一个搜索字段,需要在用户输入时主动筛选结果。我所有的数据都在searchResults对象中。当我输入文本框时没有任何反应。我错过了什么?在此先感谢您的帮助。角度js通过文本框输入过滤对象
<div>
<input ng-model="query" name="search" id="search" type="text" placeholder="search by product or category">
<ul id="filteredResults" ng-if="results.length">
<li ng-repeat="result in results | filteredSearchFilter | limitTo: 10">{{result.name}}</li>
</ul>
</div>
filteredSearch.filter.js
module.exports = function() {
return function(data, keys, query) {
results = [];
if(!query){
return data;
} else {
angular.forEach(data, function(obj){
var matched = false;
angular.forEach(keys, function(key){
if(obj[key]){
// match values using angular's built-in filter
if ($filter('filter')([obj[key]], query).length > 0){
// don't add objects to results twice if multiple
// keys have values that match query
if(!matched) {
results.push(obj);
}
matched = true;
}
}
});
});
}
return results;
};
我实现现在我需要将对象转换为数组。我只需要名称键。有任何想法吗? – luigilife