我创建了一项检查用户令牌的服务。
如果令牌未过期,则不执行任何操作。如果它已过期 - 将他重定向到登录页面。
我的服务。相关代码:
checkToken(myError) {
if (myError.json().error == "token_expired")
{
console.log("Your token has expired.");
this.router.navigate( ['Login'] ); //Returns error
} else {
console.log("Do nothing");
}
}
问题
EXCEPTION: TypeError: Cannot read property 'navigate' of undefined
我的服务。
import {Component,Injectable} from "angular2/core";
import {Router} from 'angular2/router';
@Injectable()
export class JwtService {
private jwtToken = localStorage.getItem("jwt");
constructor(public router: Router)
getToken() {
return this.jwtToken;
}
checkToken(myError) {
if (myError.json().error == "token_expired")
{
console.log("Your token has expired.");
this.router.navigate( ['Login'] );
} else {
console.log("Do nothing");
}
}
}
我的ROUTER_PROVIDERS
位于我的boot.ts
文件中:
bootstrap(AppComponent, [
JwtService,
HTTP_PROVIDERS,
ROUTER_PROVIDERS
]);
那么为什么我无法从我的服务中导航?
答案 0 :(得分:0)
constructor(public router: Router)
应该是
constructor(public router: Router) {}