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、青橙竞技游戏辅助有没有辅助教...
出现新变化!pokermast... 出现新变化!pokermaster脚本,智星菠萝可以辅助吗,其实真的有挂(有挂头条)1、超多福利:超...
查到实测!微友辅助器免费版,哥... 查到实测!微友辅助器免费版,哥哥打大a辅助,详细挂(有挂猫腻)1、完成微友辅助器免费版有辅助插件,帮...
出乎意料的是!wepoker养... 出乎意料的是!wepoker养号规律,德普之星app安卓版破解版,果然是真的有挂(有挂攻略)1、打开...
重大来袭!哈局八张有没有透视挂... 重大来袭!哈局八张有没有透视挂,情怀大陆dnf辅助,详细器(有挂讲解)1、进入游戏-大厅左侧-新手福...
黑科技教程!wepoker辅助... 黑科技教程!wepoker辅助器免费,德普之星透视辅助,总是是真的有挂(有挂助手)1.德普之星透视辅...
针对!wepoker有没有透视... 针对!wepoker有没有透视方法,德扑圈有透视吗,原来真的有挂(有挂解惑)1、德扑圈有透视吗有没有...
记者发布!福州天天开心辅助,微... 记者发布!福州天天开心辅助,微乐三带辅助,详细工具(有挂详细)1、福州天天开心辅助公共底牌简单,福州...
出现新变化!pokermast... 出现新变化!pokermaster脚本,智星菠萝可以辅助吗,其实真的有挂(有挂解惑)进入游戏-大厅左...
推荐攻略!内蒙老友辅助,微信小... 您好,微信小程序雀神挂件透视这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】...