Angular无法获取路由的@inputData - getCurrentNavigation()方法返回null值。
创始人
2024-10-30 01:00:54
0次

在Angular中,getCurrentNavigation()方法用于获取当前路由的导航状态。然而,在某些情况下,该方法可能返回null值,这可能是由于异步导航或刷新页面等原因造成的。以下是解决此问题的一种常见方法:

  1. 使用订阅路由事件的方式获取当前导航信息:
import { Router, NavigationEnd } from '@angular/router';

export class YourComponent implements OnInit {
  constructor(private router: Router) {}

  ngOnInit() {
    this.router.events.subscribe(event => {
      if (event instanceof NavigationEnd) {
        const navigation = this.router.getCurrentNavigation();
        if (navigation) {
          const data = navigation.extras.state;
          // 使用获取到的data进行后续操作
        }
      }
    });
  }
}

在上面的代码中,我们订阅了路由事件,并在每次导航结束时检查getCurrentNavigation()方法的返回值。如果返回值不为null,我们可以从导航对象的extras属性中获取数据。

  1. 使用ngOnInit()钩子函数获取数据:
import { Router, ActivatedRoute } from '@angular/router';

export class YourComponent implements OnInit {
  constructor(private router: Router, private route: ActivatedRoute) {}

  ngOnInit() {
    const navigation = this.router.getCurrentNavigation();
    const data = navigation?.extras?.state;
    // 使用获取到的data进行后续操作
  }
}

在上面的代码中,我们通过注入ActivatedRoute来获取当前路由的导航信息。然后,我们可以使用getCurrentNavigation()方法来获取数据。

请注意,在使用以上方法时,确保在路由的导航结束之后再使用getCurrentNavigation()方法获取数据,以避免获取到null值。

相关内容

热门资讯

科普分享!AG真人透视功能软件... 科普分享!AG真人透视功能软件,AG真人一贯有透视软件(有辅助挂方略)1、不需要AI权限,帮助你快速...
一分钟揭秘!掌电竞技辅助器功能... 一分钟揭秘!掌电竞技辅助器功能方法,掌电竞技确实真的有辅助器方法(有辅助挂解惑)1、打开软件启动之后...
分享开挂内幕!心悦斗地主辅助器... 分享开挂内幕!心悦斗地主辅助器功能脚本,心悦斗地主其实是有辅助器脚本(有辅助挂方式)1、进入游戏-大...
最新技巧!天府棋牌辅助器功能技... 最新技巧!天府棋牌辅助器功能技巧,天府棋牌其实真的有辅助器技巧(有辅助挂秘籍)一、天府棋牌游戏安装教...
记者揭秘!蛮族大厅辅助器功能工... 记者揭秘!蛮族大厅辅助器功能工具,蛮族大厅真是真的有辅助器工具(有辅助挂秘笈)1)蛮族大厅辅助插件:...
重大通报!人人烟台麻将透视挂功... 重大通报!人人烟台麻将透视挂功能方法,人人烟台麻将真是是真的有透视挂方法(果真有辅助挂)1、下载好人...
必备科技!众亿辅助功能app,... 必备科技!众亿辅助功能app,众亿竟然是有辅助app(有辅助挂细节)1、下载好众亿脚本下载之后点击打...
揭秘一下!和悦游戏开挂功能攻略... 揭秘一下!和悦游戏开挂功能攻略,和悦游戏都是是真的有开挂攻略(确实有辅助挂)1、游戏颠覆性的策略玩法...
如何分辨真伪!永州跑胡子透视挂... 如何分辨真伪!永州跑胡子透视挂功能脚本,永州跑胡子好像是真的有透视挂脚本(有辅助挂详情)1、不需要A...
科技揭秘!同乐网游开挂功能方法... 科技揭秘!同乐网游开挂功能方法,同乐网游总是存在有开挂方法(有辅助挂详细)1、同乐网游破解器简单,同...