我要检测我的AppComponent次航班的路由变化.

此后,我将判断全局用户令牌,查看用户是否已登录,以便在用户未登录时重定向用户.

推荐答案

在Angular 2中,您可以向路由实例发送subscribe(Rx事件).

class MyClass {
  constructor(private router: Router) {
    router.subscribe((val) => /*whatever*/)
  }
}

Edit(自rc.1起)

class MyClass {
  constructor(private router: Router) {
    router.changes.subscribe((val) => /*whatever*/)
  }
}

Edit 2(自2.0.0起)

另见:Router.events doc

class MyClass {
  constructor(private router: Router) {
    router.events.subscribe((val) => {
        // see also 
        console.log(val instanceof NavigationEnd) 
    });
  }
}

Angular相关问答推荐

如何在@angular/material-experimental中使用自定义调色板-Expeded $connect.Color.primary将成为有效的M3调色板

当项目具有BrowserAnimationsModule时,Angular UI未拾取数据模型更改

在剑道UI网格中包装Excel导出的列

错误TS2531:对象可能为空.论窗体数组控件

显示用户名-Angular

Angular 13 Sass 模块无法在编译中正确导入文件

如果Angular 数据为空,如何设置N/A

RxJS 基于先前的数据响应执行请求(涉及循环对象数组)

Angular 无法从后端获取数据到前端

当我ng serve时,Angular CLI 提示TypeError: callbacks[i] is not a function

怎样在 Angular 2 或 4 中将输入字段设为只读?

带有嵌套表单数组的 Angular react式表单

如何在 ngFor 循环中创建变量?

如何使用Angular4通过元素ID设置焦点

Angular2 CLI 错误@angular/compiler-cli包未正确安装

Angular CLI 自定义 webpack 配置

实现自定义 NgbDateParserFormatter 来更改 NgbInputDatepicker 上输入值的格式是否正确?

错误:angular2 中没有 HttpHandler 的提供者

为什么用?模板绑定中的运算符?

Angular 2:将外部js文件导入组件