在新路由器上使用订阅功能时出现Angular 2打字稿错误(RC 1)

hY8vVpf3tyR57Xib

我正在尝试使用新路由器为我的Angular 2应用设置身份验证。有人建议尝试以下方法:

constructor (private _router: Router) {} 

ngOnInit(){
  this._router.subscribe(
    next => {
      if (!userIsLoggedInOrWhatever) {
        this._router.navigate(['Login']);
      }
    }
  )    
}

但是,此问题是导致打字稿错误

(app.component.ts(47,22):错误TS2339:类型“路由器”上不存在属性“订阅”。

这很奇怪,因为文档清楚地表明Router对象确实具有此功能。我可以调用其他功能,例如router.navigate(['/ url'])。你们有什么想法吗?

贡特·佐赫鲍尔(GünterZöchbauer)

新路由器

constructor(router:Router) {
  router.events.subscribe(event:Event => {
    if(event instanceof NavigationStart) {
    }
    // NavigationEnd
    // NavigationCancel
    // NavigationError
    // RoutesRecognized
  })
}

原版的

Router课程有一个EventEmitter changes您可以订阅的:

ngOnInit(){
  this._router.changes.subscribe(
    next => {
      if (!userIsLoggedInOrWhatever) {
        this._router.navigate(['Login']);
      }
    }
  )    
}

有关如何获取上一条路线的信息,请参阅如何在Angular 2中检测路线变化?pairwise()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular 2打字稿@injectable

来自分类Dev

在RC.1中使用新路由器时,如何扩展RouterOutlet

来自分类Dev

解析器错误:表达式的意外结尾:{{value?}} | Angular 2打字稿

来自分类Dev

解析器错误:表达式的意外结尾:{{value?}} | Angular 2打字稿

来自分类Dev

Angular2打字稿拖放功能

来自分类Dev

如何在Angular2 RC5打字稿中调用共享指令的方法?

来自分类Dev

为新路由器设置身份验证Angular 2(> = rc1)

来自分类Dev

Angular2 rc1,新路由器和传递数据

来自分类Dev

为新路由器设置身份验证Angular 2(> = rc1)

来自分类Dev

Angular 2打字稿调用JavaScript函数

来自分类Dev

组件未渲染Angular 2打字稿

来自分类Dev

Angular 2打字稿调用JavaScript函数

来自分类Dev

带有Angular 2打字稿的Visual Studio代码中的重复标识符错误

来自分类Dev

带有Angular 2打字稿的Visual Studio代码中的重复标识符错误

来自分类Dev

设置angular2打字稿环境时遇到问题

来自分类Dev

什么是angular2打字稿和angular2 ecma脚本

来自分类Dev

在Angular 2打字稿应用程序中使用moment.js

来自分类Dev

打字稿+ Angular2:订阅可观察的原因导致“无法识别的拆解1”错误

来自分类Dev

使用Angular 2新路由器更改页面标题

来自分类Dev

Angular 2打字稿:TypeError:this.validator不是一个函数

来自分类Dev

angular 2打字稿中的成员属性和构造函数的语法

来自分类Dev

在angular2打字稿方法中指定返回类型

来自分类Dev

angular 2打字稿不能在环境上下文中声明实现

来自分类Dev

何时在Angular2打字稿中创建构造函数?

来自分类Dev

Angular 2打字稿中@Inject和@Injectable有什么区别

来自分类Dev

如何在Angular 2打字稿中生成md5哈希?

来自分类Dev

扩展http类并访问自定义属性(Angular2打字稿)

来自分类Dev

如何在Angular 2打字稿中生成md5哈希?

来自分类Dev

扩展http类并访问自定义属性(Angular2打字稿)

Related 相关文章

  1. 1

    Angular 2打字稿@injectable

  2. 2

    在RC.1中使用新路由器时,如何扩展RouterOutlet

  3. 3

    解析器错误:表达式的意外结尾:{{value?}} | Angular 2打字稿

  4. 4

    解析器错误:表达式的意外结尾:{{value?}} | Angular 2打字稿

  5. 5

    Angular2打字稿拖放功能

  6. 6

    如何在Angular2 RC5打字稿中调用共享指令的方法?

  7. 7

    为新路由器设置身份验证Angular 2(> = rc1)

  8. 8

    Angular2 rc1,新路由器和传递数据

  9. 9

    为新路由器设置身份验证Angular 2(> = rc1)

  10. 10

    Angular 2打字稿调用JavaScript函数

  11. 11

    组件未渲染Angular 2打字稿

  12. 12

    Angular 2打字稿调用JavaScript函数

  13. 13

    带有Angular 2打字稿的Visual Studio代码中的重复标识符错误

  14. 14

    带有Angular 2打字稿的Visual Studio代码中的重复标识符错误

  15. 15

    设置angular2打字稿环境时遇到问题

  16. 16

    什么是angular2打字稿和angular2 ecma脚本

  17. 17

    在Angular 2打字稿应用程序中使用moment.js

  18. 18

    打字稿+ Angular2:订阅可观察的原因导致“无法识别的拆解1”错误

  19. 19

    使用Angular 2新路由器更改页面标题

  20. 20

    Angular 2打字稿:TypeError:this.validator不是一个函数

  21. 21

    angular 2打字稿中的成员属性和构造函数的语法

  22. 22

    在angular2打字稿方法中指定返回类型

  23. 23

    angular 2打字稿不能在环境上下文中声明实现

  24. 24

    何时在Angular2打字稿中创建构造函数?

  25. 25

    Angular 2打字稿中@Inject和@Injectable有什么区别

  26. 26

    如何在Angular 2打字稿中生成md5哈希?

  27. 27

    扩展http类并访问自定义属性(Angular2打字稿)

  28. 28

    如何在Angular 2打字稿中生成md5哈希?

  29. 29

    扩展http类并访问自定义属性(Angular2打字稿)

热门标签

归档