我是Angular2的新手,我正在使用jwthelper来编码jwt令牌并提取细节.
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); } }
ERROR Error: No provider for JwtHelper!
解决方法
这是因为您试图在组件/服务的构造函数中注入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); }