2017-03-22 9 views
3

私は本当にAngular 2で新しいと私は私のプロジェクトでJWTを使用したい。だから私は指示を正確にどこからthe official page of angular2-jwt基本的な構成を使用して与えます。AuthHttpのプロバイダはありません! on angular2-jwt

import { NgModule } from '@angular/core'; 
import { Http, RequestOptions } from '@angular/http'; 
import { AuthHttp, AuthConfig } from 'angular2-jwt'; 

function authHttpServiceFactory(http: Http, options: RequestOptions) { 
    return new AuthHttp(new AuthConfig(), http, options); 
} 

@NgModule({ 
    providers: [ 
    { 
     provide: AuthHttp, 
     useFactory: authHttpServiceFactory, 
     deps: [Http, RequestOptions] 
    } 
    ] 
}) 
export class AuthModule {} 

次のステップは、認証リクエストを送信している: は、私は次のコードでauth.module.tsという名前のファイルを作成します。

import {Component, OnInit,trigger,state,style,transition,animate,keyframes, group} from '@angular/core'; 
import initDemo = require('../../../assets/js/charts.js'); 
import initNotify = require('../../../assets/js/notify.js'); 
import { AuthHttp } from 'angular2-jwt'; 

declare var $:any; 

@Component({ 
    moduleId: module.id, 
    selector: 'calendario', 
    templateUrl: 'calendario.component.html' 

}) 

export class CalendarioComponent{ 
    thing: any; 
    constructor(public authHttp: AuthHttp) {} 
    obtenerDatos() { 
     this.authHttp.get('http://localhost/autorepuestos/web/app_dev.php/api/conjunto') 
     .subscribe(
     data => this.thing = data, 
     err => console.log(err), 
     () => console.log('Request Complete') 
    ); 
     console.log("Hola"); 
    } 
} 

私はこのコンポーネントに入力すると、私はエラーを持っているcalendario.components.ts:

ファイル:私は私がページ上で示唆したコードを実行する機能を呼び出すボタンを配置コンポーネントを使用します:

EXCEPTION: Uncaught (in promise): Error: No provider for AuthHttp! 
Error: DI Error 

私はこれを解決できますか?私は本当にあなたの助けを借りて、角2で新しい!

答えて

5

このAuthHttpクラスを提供するモジュールを作成したようです。あなたはAuthModuleCalendarioComponentの一部であるモジュールのインポートに含まれていることを確認しましたか?

import { AuthModule } from '...'; 
import { CalendarioComponent } from '...'; 

@NgModule({ 
    imports: [AuthModule], 
    declarations: [CalendarioComponent] 
}) 
export class SomeModule {} 
+0

こんにちは私の友人、私を助けてくれてありがとうたくさん:このような

何か。うーん...私は参照してください!たぶん私はこれにnewbeだ!だから、私はcalendario.module.tsというファイルが必要でしょうか?私はこのファイルを持っていません! –

+0

私は少し私の友人を混乱させる。私は私のcalendarioコンポーネントのインポートを見つけることができません。私はちょうど私のサイドバーのrouterlinkから彼を呼び出します... –

+0

Nevermind私はそれを見つけました...あなたのコードをテストさせてください –

関連する問題