我使用过滤器:一个JSON响应查询进行过滤。 一切正常。 当我打开JSON响应到适当的类别过滤器停止工作。 什么是使用查询匹配的一类领域的做法? 情况是这样的,我应该然后创建自己的自定义@NgFilter?
Answer 1:
对于AngularDart filter
过滤器可以指定哪些字段通过将字段名作为关键字的地图匹配。
让我们用AngularDart教程 Recipe
类为例:
class Recipe { String id; String name; String category; ... }
您可以过滤,例如,在Recipe.name
使用字符串ctrl.nameFilterString
写:
<li ng-repeat="recipe in ctrl.recipes | filter:{name:ctrl.nameFilterString}">
下面是从摘录filter
API文档 ,说明如何filter
解释它的参数。 即
v | filter:x
参数x
可以是一个
String
,bool
和num
:只有在项目List
,这个表达直接匹配,是地图匹配这个项目,这是包含匹配返回项列表,项目的任何价值的物品。Map
:定义一个模式的地图。 在对象上的过滤器的特定属性包含在输入列表。 例如{name:"M", phone:"1"}
谓词将返回其拥有物业的项目列表name
中含“M”和物业phone
包含“1”。 一个特殊的属性名,$
,都可以使用(如{$: "text"}
接受对对象的任何属性的匹配。 这相当于简单的字符串匹配用String
,如上所述。
Answer 2:
我不知道你是什么意思“过滤器:查询”。 我想这是过滤器filter
。
filter
似乎项目转换集合中的字符串,并将它们与搜索文本进行比较。 如果toString()
不包含要比较它不会匹配字段。
自定义过滤器可能是最好的选择。
例:
angular.dart.tutorial / Chapter_07 / LIB /滤波器/ category_filter.dart
文章来源: With List of objects how can the `filter` filter know which fields to match on?