我是 Angular2 的新手,我正在使用 jwthelper 对 jwt token 进行编码并提取详细信息。

import { Injectable } from '@angular/core';

import { JwtHelper } from 'angular2-jwt';

@Injectable()
export class SessionService {

  constructor(private jwtHelper: JwtHelper){}

  getUser(){
    var token = JSON.parse(localStorage.getItem('currentUser'));
    return this.jwtHelper.decodeToken(token.token);
  }
}

无法找到以下错误的解决方案,并向我显示此处不正确的内容。

最佳答案

这是因为您试图在组件/服务的构造函数中注入(inject) JwtHelper。这仅适用于提供者。

根据 using jwthelper in components 部分,您必须创建一个新对象并使用它。

在您的服务中,

constructor(){} //remove from constructor.

  getUser(){
    let jwtHelper: JwtHelper = new JwtHelper();
    var token = JSON.parse(localStorage.getItem('currentUser'));
    return this.jwtHelper.decodeToken(token.token);
  }

关于angular - 错误 错误 : No provider for JwtHelper,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44675373/

10-10 06:02