【问题标题】:Why use filters in AngularJS?为什么在 AngularJS 中使用过滤器?
【发布时间】:2015-10-07 15:58:59
【问题描述】:

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

{{val|number}}

看起来很像:

{{number(val)}}

对我来说。假设我设置了$scope.number=$filter('number'),但对于我的自定义过滤器,创建官方祝福的过滤器与创建函数相比可能需要更多的工作。

【问题讨论】:

  • 并非如此。过滤器可以链接,但如果以这种方式编码,函数也可以链接。我认为主要的好处是内置过滤器。
  • 一旦定义了过滤器,它就可以从任何视图中使用,并且可以注入到任何其他角度组件中。必须在视图中可用的范围内定义函数,除非它是服务,否则不能注入。
  • 过滤器是 Angular 中唯一可以在不涉及控制器或指令的情况下注入模板的类型。
  • @JBNizet 应该是一个答案,除非这是一个骗子。
  • 所以这主要是模块化/代码重用问题?我想知道像$stateful 这样的性能问题,这些也可以触发吗?也许我应该研究一下$digest 周期……

标签: angularjs angularjs-filter


【解决方案1】:

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

必须在与视图关联的范围内(或在父范围内)定义函数以供该视图使用,并且除非它是服务,否则不能注入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2014-06-30
    • 2014-08-02
    • 1970-01-01
    相关资源
    最近更新 更多