你能解释角度滤波过程如何与这段代码一起工作吗?

时间:2017-03-16 20:43:25

标签: angularjs filter

我不明白为什么.name正在模型中而不是过滤器中发生。当我创建nameText.name并将其绑定到我的数据时,我不知道幕后发生的事情。我的过滤器实际上如何工作?

   <filter>
    <filter-name>ObjectifyFilter</filter-name>
    <filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>ObjectifyFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>

1 个答案:

答案 0 :(得分:0)

在这种情况下,

nameText是一个包含属性namecity的对象。这些属性由输入字段填充。您正在使用对象过滤列表。在这种情况下,Angular的作用是使用具有匹配名称的属性过滤列表中的对象。因此,例如,如果nameText.cityPhoenix,则会过滤列表中的项目,以便仅保留Phoenix属性city的项目。这对name的作用相同,两者都可以合并。

更新以回答评论中的问题:对于确切的实施,我建议查看Angular源代码。使用对象的过滤器的特定情况是here。这粗略地做的是获取作为过滤器传递的对象的所有属性(在您的情况下为nameText)。然后,它会遍历对象列表以过滤并选择具有与您要搜索的属性匹配的值的属性的所有对象。在我提到的源代码中,您还可以看到如何处理您可以传递的其他类型的搜索过滤器。