繁体   English   中英

在angular2中注入提供者

[英]Injecting providers in angular2

在此遵循本教程:

https://auth0.com/blog/2016/02/18/ionic-2-authentication-how-to-secure-your-mobile-app-with-jwt/

AuthHttp作为提供程序注入的方式是:

@App({
  template: '<ion-nav [root]="rootPage"></ion-nav>',
  config: {},
  providers: [
    provide(AuthHttp, {
      useFactory: (http) => {
        return new AuthHttp(new AuthConfig, http);
      },
      deps: [Http]
    })
  ]
})

这似乎很安静。 据我了解,提供程序接受一系列提供程序。

有没有更简单的方法来重写此代码?

如果AuthHttp具有@Injectable()装饰器,则它也应该工作

@App({
  template: '<ion-nav [root]="rootPage"></ion-nav>',
  config: {},
  providers: [HTTP_PROVIDERS, AuthConfig, AuthHttp]
})

我认为您需要提供者提供的AuthConfig 如果只使用不带参数的构造函数,那么根特的答案就是您要寻找的!

如果在实例化此类时需要指定参数,则可以尝试以下操作:

@App({
  template: '<ion-nav [root]="rootPage"></ion-nav>',
  config: {},
  providers: [
    HTTP_PROVIDERS,
    provide(AuthConfig, { useValue: new AuthConfig(param1, ...) }),
    AuthHttp
  ]
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM