1.依赖注入:
- @Injectable:表示服务可注入。
- providers的作用和作用域:
(1) 注入器都会在providers提供器中找寻注入的服务,new 一个实例返回。
(2) 在组件中申明的providers只能在组件中使用,且会覆盖外层的providers。
(3) providers改写:providers:[{provider:ProductService,useClass:AnotherProductService}] 当在constructor中注入的服务类型,angular会在提供器中查找,useClass会生成实例返回。 useFactory 也可以之间返回一个实例对象。
服务被注入在提供器中会被实例化一个对象,全局共用,下次再被注入,还是这个被实例化的对象。
- 注入器的层级关系:像js的词法环境一样一层一层嵌套
2.手动注入: