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

相关内容

热门资讯

今日百科!朋朋政和辅助(辅助挂... 今日百科!朋朋政和辅助(辅助挂)菠萝辅助器免费版的特点(其实真的有挂);超受欢迎的朋朋政和辅助稳赢小...
分享开挂内幕!宝宝浙江游戏免费... 分享开挂内幕!宝宝浙江游戏免费开挂(辅助挂)hhpoker是内部控制吗(切实是真的有挂);1、宝宝浙...
新手必备!湖北卡五星辅助软件(... 新手必备!湖北卡五星辅助软件(辅助挂)pokermaster破解版(从前是真的有挂);大家肯定在之前...
科技分享!威信茶馆app插件(... 科技分享!威信茶馆app插件(辅助挂)wpk作弊(一贯是有挂);是一款可以让一直输的玩家,快速成为一...
必知教程!潮友潮汕木虱开挂辅助... 必知教程!潮友潮汕木虱开挂辅助器下载(辅助挂)wepoker免费辅助器(切实是有挂);潮友潮汕木虱开...
每日必备!九九联盟辅助神器(辅... 每日必备!九九联盟辅助神器(辅助挂)佛手在线是不是有挂(其实存在有挂)是一款可以让一直输的玩家,快速...
三分钟了解!微信小程序外辅助工... 三分钟了解!微信小程序外辅助工具(辅助挂)sohoo竞技联盟辅助器(原生是真的有挂);是一款可以让一...
一起来讨论!微乐广西小程序脚本... 一起来讨论!微乐广西小程序脚本(辅助挂)哈糖大菠萝辅助器(确实有挂);运微乐广西小程序脚本辅助工具,...
重磅来袭!决战13水辅助(辅助... 重磅来袭!决战13水辅助(辅助挂)wepoker有人用过吗(从前是真的有挂)是一款可以让一直输的玩家...
玩家攻略!广东雀神智能插件辅助... 玩家攻略!广东雀神智能插件辅助脚本(辅助挂)wepokerplus开挂(确实是有挂);1、让任何用户...