0

仪表板.service.ts

import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
import { Observable }     from 'rxjs/Observable';
import { AuthHttp } from 'angular2-jwt';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';

constructor (private http: Http,private authHttp: AuthHttp) {}

当我这样做时,它给出了一个错误Error: Uncaught (in promise): Error: DI

app.module.ts

import { HttpModule } from '@angular/http';
import { AuthModule } from 'angular2-jwt';
.
imports: [
  HttpModule,
  AuthModule   
],

我如何解决这个问题?

4

1 回答 1

3

尝试这个

import { AUTH_PROVIDERS } from 'angular2-jwt';

@NgModule({
    imports: [
        BrowserModule,
        FormsModule,
        HttpModule,
    ],
    providers: [
        ...AUTH_PROVIDERS,
        // other providers
    ]
})

export class AppModule { }

选项 2

import { AuthModule, AuthConfigConsts} from 'angular2-jwt';

const authConfig: IAuthConfig = {
    headerName: AuthConfigConsts.DEFAULT_HEADER_NAME, // change to your header name
    headerPrefix: AuthConfigConsts.HEADER_PREFIX_BEARER, // or null or something else
    tokenName: AuthConfigConsts.DEFAULT_TOKEN_NAME, // change to your token name
    tokenGetter: () => localStorage.getItem(authConfig.tokenName) as string,
    noJwtError: false,
    noClientCheck: false,
    globalHeaders: [],
    noTokenScheme: false
};

@NgModule({
    imports: [
        BrowserModule,
        FormsModule,
        HttpModule,
        AuthModule.forRoot(authConfig)
    ],
})

export class AppModule { }
于 2017-02-06T10:01:33.463 回答