提供器一般的格式为:
providers:[provider:xxx,useClass:xxxxxx]
工厂和值声明在提供器中的使用就是改变useClass,即写为:providers:[provider:xxx,useFactory:xxxxxx],
providers:[provider:xxx,useValue:xxxxxx]
工厂在提供器中的使用,意义何在?我们在提供器中声明要注入的服务,使用工场可以按照特定的需求注入特定的服务类,这样使得服务的提供更加智能。
那值注入的使用有何意义?除了注入服务外,注入属性,值,对象都是可以的,他们都是具体的,注入后可直接使用。
下面看一个综合例子:
提供器中提供了三个服务,其中第一个服务中,服务类的实例化不是用的useClass,而是useFactory。在seFactory中还可以注入服务,或对象,使用方法就是还需要用到useFactory的deps属性,写法按代码例子即可。
不管在哪里需要注入服务或者属性,对象,都需要在providers提供器中进行声明!!在useFactory中注入也需要在提供器中声明!!