Angular 5不会使用router.navigate

时间:2018-01-25 17:21:08

标签: javascript angular typescript google-chrome-extension rxjs

我有一个Chrome扩展程序(或浏览器插件),我使用Angular 5进行弹出。在问题出现之前的一些注意事项,我有一个登录屏幕,它重定向主要组件(飞行组件),因此在这种情况下router.navigation按预期工作。

在扩展程序的导航栏中,我有一个来自后台脚本的消息的监听器,当他更改视图并通知我的扩展时,它会监听用户操作。例如从航班视图更改为酒店视图。

当此操作发生时,我需要将航班组件更改为酒店组件。要做到这一点,我有一个服务,它监听从后台脚本发出的消息,发出各种类型的消息,所以我过滤只获得正确的消息。按照我捕获value.type

的代码

在我的navbar我订阅了消息。

this.message
    .filter(value => value.hasOwnProperty('type'))
    .subscribe((value) => {
      this.router.navigate(['/' + value.type]);
    });

此时所有发生的都是期待甚至导航被调用,但是当值是酒店或汽车类型时不会改变到酒店组件,在飞行组件中保持“锁定”。

有关申请的更多信息:

  • 从登录到航班的导航按预期进行
  • 我正在将canActivate用于受保护的路线,如航班,酒店和汽车
  • 航班,酒店和汽车不是儿童路线。

0 个答案:

没有答案