ngUpgrade - 将ng1服务(es6)注入ng2组件(ts)

时间:2017-01-05 08:43:33

标签: angular

我很难将ng1服务(es6)注入ng2组件(ts),因为ng1服务不是类,而是es6中的服务。

这是角度网站的示例:

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

在我的应用程序中,HeroesService只是es6中的一项服务而不是ts。

任何帮助怎么做?

1 个答案:

答案 0 :(得分:-1)

假设您正在将A1应用程序迁移到A2并使用UpgradeModule,您可以查看UpgradeModule documentation中发布的示例,在升级Angular1服务部分下。

基本上,需要使用注入器在全局级别向Angular 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中注册,它就可以工作。