我已经使自己成为一个自定义管道,用于过滤我自己的对象,当与我的下拉选择器一起使用时,它正常工作。但是我注意到过滤器每次运行时都会通过控制台进行多次运行。
基本设置是一个包含元素的下拉菜单,然后是包含这些元素的对象列表。我的组件的OnInit我设置了下拉列表的默认选择。知道为什么我的Filter会多次运行吗?
即使它正常工作,它也会干扰另一个过滤器,因为它会多次运行。
答案 0 :(得分:10)
如果管道是纯的(默认),当输入值或管道参数发生变化时,将调用管道。
如果管道是不纯的@Pipe({name: 'xxx', pure: false})
,那么每次更改检测运行时都会调用管道(这通常很常见)。