我想将angular2-jwt
与我的ionic2
应用程序一起使用,并且我一直得到No provider for AuthConfig!
这是我的app.ts
:
import {AuthHttp, AuthConfig} from 'angular2-jwt';
import {Http} from 'angular2/http'
@App({
template: '<ion-nav [root]="rootPage"></ion-nav>',
config: {}, // http://ionicframework.com/docs/v2/api/config/Config/
providers: [
provide(AuthHttp, {
useFactory: (http) => {
return new AuthHttp(new AuthConfig(), http);
},
deps: [Http]
}),
AuthHttp
]
})
我在我的
login.ts
页面上使用它:import {AuthHttp, AuthConfig} from 'angular2-jwt';
@Page({
templateUrl: 'build/pages/login/login.html',
directives: [IONIC_DIRECTIVES]
})
export class LoginPage {
constructor(private authHttp: AuthHttp){
}
}
最佳答案
奇怪的是,您为AuthConfig
定义了两倍的提供者:
providers: [
provide(AuthHttp, {
useFactory: (http) => {
return new AuthHttp(new AuthConfig(), http);
},
deps: [Http]
}),
AuthHttp // <-----------
]
第二个将覆盖第一个参数,并期望
AuthConfig
作为第一个参数注入AuthHttp
中。但没有AuthConfig
的提供者。它应该通过移除第二个
AuthHttp
来工作,如下所述:providers: [
provide(AuthHttp, {
useFactory: (http) => {
return new AuthHttp(new AuthConfig(), http);
},
deps: [Http]
})
]
关于angular - angular2-jwt:没有AuthConfig的提供程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36104849/