angular 依赖注入5-injectionToken

使用场景

一般情况在{ provide: ‘ServiceName’,…}都尽量使用injectionToken这样可以避免与引入的其他包发生名字的一样而产生冲突的问题

使用方法

import { ReflectiveInjector } from '@angular/core';
var FactorServiceToken= new InjectionToken("FactorService");
...
  providers: [
    {
       provide: FactorServiceToken,
       useFactory: () => {
         class facClass{
           data = 'facClass value';
         }
         return new facClass();
       }
    }
  ],
 ...

这样就可以有效避免冲突问,早一些的angular用的是OpaqueToken ,感觉一样,没有细究问题要改这个。

你可能感兴趣的:(angular2/4)