Angular 过滤器背后的逻辑是什么?我们通过以下方式使用 Angular 过滤器
var users = [
{
name: "lokesh",
age: 25
},
{
name: "john",
age: 20
}
]
<input type="text" ng-model="search">
<div ng-repeat="user in users | filter:search">
{{user.name}} {{user.age}}
</div>
Ember.js 中是否有这样的过滤器,或者如何在纯 JavaScript 中使用这样的过滤器。过滤器应该返回具有该用户输入的单词的对象。此外,该过滤器应该像一个独立的组件。它应该适用于对象中任意数量的属性
var search = "lokesh";
users.filter(function (user) {
return user.name == search || user.age == search;
});
上述过滤器适用于 2 个属性名称和年龄。我想要一个可以处理任意数量属性的过滤器。更多的是,过滤器也应该匹配部分字符串,这与上面检查 == 的示例不同。
最佳答案
基本上使用Object.keys
:
users.filter(d => Object.keys(d).some(key => d[key] == search))
现在可以轻松创建 ember.js
帮助器,或者只是一个实用函数或计算属性模板。要使实时更新正常工作有点挑战,但并非不可能。
关于javascript - 如何在 Ember.js 中模拟 Angular 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39069668/