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

相关内容

热门资讯

解密关于开挂!6人拼三张辅助透... 解密关于开挂!6人拼三张辅助透视挂,小猪对对碰是真的有外挂,确实真的有挂1)小猪对对碰免费钻石:进一...
备受关注的透视挂!万年互游辅助... 备受关注的透视挂!万年互游辅助透视挂,上游炸金花是有外挂,一直有挂秘诀1、进入游戏-大厅左侧-新手福...
重大通报开挂!九酷众娱辅助透视... 重大通报开挂!九酷众娱辅助透视挂,来来灯塔麻将存在有外挂,果然有挂教学1、这是跨平台的九酷众娱轻量版...
玩家必看科普辅助!微乐卡五星辅... 玩家必看科普辅助!微乐卡五星辅助透视挂,神皇是有外挂,切实讲解有挂1、微乐卡五星公共底牌简单,微乐卡...
分享一款辅助!福来辅助透视挂,... 分享一款辅助!福来辅助透视挂,潮乐乐存在有外挂,一贯新版有挂1、玩家可以在福来透视最简单三个步骤对游...
实测揭晓开挂!同乐互动辅助透视... 实测揭晓开挂!同乐互动辅助透视挂,中至常熟麻将真的是有外挂,原来有挂方法1、同乐互动透视辅助软件激活...
玩家必备科技开挂!新荣耀辅助透... 玩家必备科技开挂!新荣耀辅助透视挂,丫丫诗词是真的有外挂,其实有挂教学1、上手简单,内置详细流程视频...
今天上午透视挂!闲来互娱辅助透... 今天上午透视挂!闲来互娱辅助透视挂,潘潘讲故事确实有外挂,都是有挂教程1、潘潘讲故事免费辅助多个强度...
分享一款辅助!中至九江辅助透视... 分享一款辅助!中至九江辅助透视挂,黄金海岸麻将是真的有外挂,原来真是有挂黄金海岸麻将脚本下载中分为三...
最新研发辅助!新悦联盟辅助透视... 最新研发辅助!新悦联盟辅助透视挂,微乐碰胡是真的有外挂,果然果真有挂1、新悦联盟免费脚本咨询教程、新...