参考:https://docs.angularjs.org/guide/di

AngularJs的依赖注入简称DI,在AngularJs项目中可以无处不在,到底应该注入些什么东东呢?一直是迷迷糊糊的,为此今天特意看了官方文档,终于弄明白了,至少更理解一些了  :)

AngularJs--Dependency Injection 规则-LMLPHP

【译】

  • Services, directives, fillters 和 animations 由工厂方法或构造函数定义,并且可以使用“services”,“values”和“constants”作为依赖注入
  • Controllers 由构造函数定义,它可以作为依赖关系注入任何“service”和“value”中,但也可以提供“特殊依赖关系”。
  • run 方法接受一个函数,该函数可以用“services”,“values”和“constants”作为依赖注入。请注意,您不能将“providers”插入 run 块中。
  • config方法接受一个函数,可以使用“providers”和“constants”作为依赖注入。请注意,您不能在 config 中注入“service”和“value”。
  • provider只能与其他“provider”一起注入。但是,只有预先注册的provider才可以注入。这与services不同,services注册与顺序无关。

在这里还涉及到一个 value 和 constant  的区别,详细内容请参考:https://stackoverflow.com/questions/30327651/angularjs-constants-vs-values

05-26 09:02