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值。

相关内容

热门资讯

近年来!约战竞技场辅助脚本,情... 近年来!约战竞技场辅助脚本,情怀打七开辅助-一贯真的是有辅助攻略(哔哩哔哩)1、约战竞技场辅助脚本有...
做出回应!来几局辅助器,牌乐们... 做出回应!来几局辅助器,牌乐们黑科技试用-一直真的有辅助器(哔哩哔哩)1、不需要AI权限,帮助你快速...
黑科技插件!指尖四川辅助脚本,... 黑科技插件!指尖四川辅助脚本,衢州都莱辅助器-好像确实有辅助神器(哔哩哔哩)一、指尖四川辅助脚本游戏...
此事引发网友热议!约局吧开挂神... 此事引发网友热议!约局吧开挂神器是真的吗,战皇大厅辅助排行-都是是有辅助教程(哔哩哔哩)1)约局吧开...
近期!极速鱼虾蟹辅助,衢州都莱... 近期!极速鱼虾蟹辅助,衢州都莱辅助器-切实确实有辅助攻略(哔哩哔哩)1.衢州都莱辅助器 选牌创建新账...
随着!潮汕汇透视挂,约局吧破解... 随着!潮汕汇透视挂,约局吧破解器-总是确实有辅助软件(哔哩哔哩)1、约局吧破解器免费辅助多个强度级别...
据权威媒体报道!超凡辅助app... 据权威媒体报道!超凡辅助app链接,火神大厅辅助器-都是真的是有辅助攻略(哔哩哔哩)1、火神大厅辅助...
2026版攻略!天天微友有辅助... 2026版攻略!天天微友有辅助么,微信新九游辅助-总是真的是有辅助神器(哔哩哔哩)1、天天微友有辅助...
据了解!丽水茶苑手机辅助,微友... 据了解!丽水茶苑手机辅助,微友辅助器免费版v2.0-一贯确实有辅助插件(哔哩哔哩)微友辅助器免费版v...
透视好牌!闲来辅助神器免费版在... 透视好牌!闲来辅助神器免费版在哪下载,约战平台辅助-本来存在有辅助app(哔哩哔哩)1、透视好牌!闲...