在更改路由上需要运行一个函数来检查令牌

时间:2017-05-24 14:43:39

标签: javascript angular typescript angular2-routing

在Angular中,对于每个已更改的路由,如果设置了有效令牌,我需要运行该函数。

任何人都可以帮我这样做吗?

在Angular 1中,我习惯使用$on

1 个答案:

答案 0 :(得分:0)

您可以使用CanActivate来保护路线或在路线转换期间调用功能,示例如下所述

import { Router, CanActivate } from '@angular/router';

export class AuthGuard implements CanActivate {

constructor(private router: Router) { }

canActivate() {
  return true //or false
}
}

官方doc

更新步骤

  1. 编写上述代码
  2. 中提到的AuthGuard服务
  3. 在提供程序中添加AuthGaurd(app.module.ts文件)
  4. 这样一旦发生转换,就会调用canActivate。
  5. <强>假设

    1. 您已经使用appModule
    2. 注册了路线

      <强>教程

      1. http://jasonwatmore.com/post/2016/08/16/angular-2-jwt-authentication-example-tutorial