该文档提到了两种从控制器和服务调用过滤器的方法,这些方法适用于货币过滤器:
$filter('currency')
或
currencyFilter
通过查看angular的源代码,我看到第一个调用名为+ suffix的注入器将其返回。也就是说,为了大量使用过滤器或经常调用的过滤器,这会对性能产生影响吗? 我的想法是,如果你通过2路方式注入它,那么你可以引用过滤器功能并直接使用它。然而,在第一种方式中,每次需要使用过滤器时都会调用喷射器。
让我们说你把它放在一个经常被叫的观察者身上,我觉得这里有可能的漏斗。 有什么输入吗? Jsperf似乎一直在下降,直到他们发布v2,但也许有人已经有答案了?
答案 0 :(得分:1)
$filter
所做的只是getting a service from injector。注射器开销可以忽略不计。
这个问题可以被认为是初步优化。应用程序中有些地方对性能更为关键,需要更多关注。
如果过滤器用于许多观察者或摘要可能每秒触发多次,这提供了比过滤器应用方式更明显的瓶颈和优化点。