【发布时间】:2013-05-04 15:44:32
【问题描述】:
在我的控制器中,我想过滤一组对象。这些对象中的每一个都是一个可以包含字符串和列表的映射
我尝试使用$filter('filter')(array, function) 格式,但我不知道如何访问函数内数组的各个元素。这是一个显示我想要的东西的 sn-p。
$filter('filter')(array, function() {
return criteriaMatch(item, criteria);
});
然后在criteriaMatch(),我会检查每个单独的属性是否匹配
var criteriaMatch = function(item, criteria) {
// go thro each individual property in the item and criteria
// and check if they are equal
}
我必须在控制器中完成所有这些工作,并编译一个列表列表并将它们设置在范围内。所以我只需要以这种方式访问$filter('filter')。到目前为止,我在网上找到的所有示例都在函数内部进行了静态条件搜索,它们不传递条件对象并针对数组中的每个项目进行测试。
【问题讨论】:
-
为什么需要过滤器?通常从模板中使用过滤器。如果你只是从那里使用它,你能不能在你的控制器中只拥有一个普通的功能?
-
而不是手动遍历数组的每个元素,我认为我们可以使用 angular 的 $filter('filter') 功能(如果我们只指定谓词函数)
标签: arrays angularjs filter controller