2016-03-19 48 views
3

林綁我ionic2應用程序中使用angular2-jwt,我不斷收到No provider for AuthConfig!angular2,智威湯遜:無提供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 
    ] 
}) 

和IM我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){ 
    } 

} 

回答

5

很奇怪,你定義兩次提供商AuthConfig

providers: [ 
    provide(AuthHttp, { 
    useFactory: (http) => { 
     return new AuthHttp(new AuthConfig(), http); 
    }, 
    deps: [Http] 
    }), 
    AuthHttp // <----------- 
] 

第二個將覆蓋第一個,希望AuthConfigAuthHttp注入作爲第一個參數。但是沒有供應商AuthConfig

應該通過移除第二AuthHttp工作,如下所述:

providers: [ 
    provide(AuthHttp, { 
    useFactory: (http) => { 
     return new AuthHttp(new AuthConfig(), http); 
    }, 
    deps: [Http] 
    }) 
] 
-1

嘗試添加AuthConfig作爲依賴項:

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,AuthConfig] 
    }), 
    AuthHttp 
    ] 
}) 
+0

還是一樣,'無提供商AuthConfig' – tubu13