在最新版本的ANGLE 7.2.6中,我try 在路由本身中传递数据

this.router.navigate(['other'], {state: {someData: 'qwert'}}

OtherComponent文件中,this.router.getCurrentNavigation()始终返回null

Stackblitz Link

Angular Docs - getCurrentNavigation

Angular Docs - state

推荐答案

你调用方法getCurrentNavigation太晚了.导航已经完成.

您需要在构造函数中调用getCurrentNavigation方法:

constructor(private router: Router) {
    this.name = this.router.getCurrentNavigation().extras.state.someData;
}

或者,如果您想在ngOnInit中访问导航,可以执行以下操作:

ngOnInit() {
    this.name = history.state.someData;
}

Angular相关问答推荐

Goto锚定在嵌套容器中,具有溢出自动

Angular 16路卫单元测试可观察到的SpyObj属性

如何在自定义验证器中获取所有表单控件(字段组动态创建)

NG-BOOTSTRAPP SCROLLESPY没有高度就不能工作?

Angular 如何观察DOM元素属性的变化?

ANGLING HTTP.GET()返回包含数据的数组

在Cypress中,对xlsx文件的读取并不总是正确的

ANGLING:ExpressionChangedAfterChecked在嵌套形式中由子项添加验证器

从API动态加载MAT表数据时禁用分页

Angular ngSubmit 不起作用(内部按钮和导入模块)

导入 AngularFirestoreModule 时出现问题:此类型参数可能需要 `extends firebase.firestore.DocumentData` 约束.

Storybook 和 Angular 交互游戏测试未定义预期

ng14中具有强类型表单的FormBuilder

Angular 从 13.3.8 恢复到 13.3.7

Angular/RxJS 6:如何防止重复的 HTTP 请求?

Springboot/Angular2 - 如何处理 HTML5 url?

Angular 5 中 value 和 ngValue 的区别

错误:angular2 中没有 HttpHandler 的提供者

RxJS:takeUntil() Angular 组件的 ngOnDestroy()

如何使用 Angular CLI 删除包?