2017-01-05 42 views
0

由於ng1服務不是類而是es6中的服務,因此我很難將ng1服務(es6)注入到ng2組件(ts)。ngUpgrade - 將ng1服務(es6)注入到ng2組件(ts)

這是從角部位的例子:

constructor(@Inject('heroes') heroes: HeroesService) { 
    this.hero = heroes.get()[0]; 
    } 

在我的應用程序HeroesService是不是在TS ES6只是一個服務。

任何幫助如何做到這一點?

回答

-1

假設您將A1應用程序遷移到A2並正在使用UpgradeModule,則可以檢查在UpgradeModule documentation中發佈的示例中的升級Angular1服務部分下的示例。

基本上服務需要在使用注射器全球層面與角度2註冊:

// Register an Angular 2+ provider whose value is the "upgraded" Angular 1 service 
{provide: 'titleCase', useFactory: (i: any) => i.get('titleCase'), deps: ['$injector']} 

只要服務在A1註冊它應該工作。