例如:
ng-repeat="proj in projects | filter:{'years':mySelectStr} | filter:tidFilter | filter:{'content':searchName} "
这种同时存在的多个过滤条件,在controller中应该怎么写?
例如:
ng-repeat="proj in projects | filter:{'years':mySelectStr} | filter:tidFilter | filter:{'content':searchName} "
这种同时存在的多个过滤条件,在controller中应该怎么写?
第一种方式就是在
controller
中就是一次调用,其实对于template
中关于filter
的管道语法内部实现也是依次调用。第二种方式涉及一些函数式编程的知识,因为
$filter
本身注册的函数其实本质是符合函数式编程中纯函数
和pointfree
的特征的,如果多个函数都是纯函数的前提下且有pointfree特征,那它们是可组合的,即可以使用类似lodash.compose
或者ramda.compose
的函数来生成一个新函数,如下以上