[英]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.