Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在AngularJS中使用过滤器?_Angularjs_Angularjs Filter - Fatal编程技术网

为什么在AngularJS中使用过滤器?

为什么在AngularJS中使用过滤器?,angularjs,angularjs-filter,Angularjs,Angularjs Filter,我很难理解为什么我应该在Angular函数中使用filters而不是普通函数…功能似乎基本相同;HTML的“可读性”或其他东西在幕后发生了什么 {{val|number}} 看起来很像: {{number(val)}} 对我来说。假设我已经设置了$scope.number=$filter('number'),但是对于我的自定义过滤器来说,创建一个官方认可的过滤器比创建一个函数要困难得多。过滤器可以从任何视图使用,并且可以插入到任何其他角度组件中 必须在与视图关联的作用域(或父作用域)上定义一

我很难理解为什么我应该在Angular函数中使用
filter
s而不是普通函数…功能似乎基本相同;HTML的“可读性”或其他东西在幕后发生了什么

{{val|number}}
看起来很像:

{{number(val)}}

对我来说。假设我已经设置了
$scope.number=$filter('number')
,但是对于我的自定义过滤器来说,创建一个官方认可的过滤器比创建一个函数要困难得多。

过滤器可以从任何视图使用,并且可以插入到任何其他角度组件中


必须在与视图关联的作用域(或父作用域)上定义一个函数才能用于该视图,并且除非它是一个服务,否则不能将其注入。

不太可能。过滤器可以链接,但如果以这种方式编码,函数也可以链接。在我看来,主要的好处是内置的过滤器。一旦定义了过滤器,它可以从任何视图使用,并且可以注入任何其他角度组件。必须在作用域上定义函数才能在视图中使用,除非它是服务,否则不能将其注入。过滤器是唯一可以注入模板而不涉及控制器或指令的角度类型。@JBNizet应该是答案,除非这是重复。所以这主要是模块化/代码重用问题?我想知道性能问题,如
$stateful
,这些问题是否也会触发?也许我应该研究一下
$digest
周期…