当前位置: 首页 > 知识库问答 >
问题:

Angular2 Primeng Data table 选择行传递到使用路由器的其他组件

梁丘书
2023-03-14

export class Student {

selectedRow:Student;// I can able to assign selected row here

navigateStudentDetail(){

this.router.navigate(['./studentdetail']);

}

我可以使用查询参数传递 studentId,但我想将我的学生对象传递给 studentdeures 组件。但做不到。

有什么简单的方法可以做到这一点吗?请帮帮我

共有1个答案

太叔富
2023-03-14

也许使用服务只是将一些参数传递给另一个组件是多余的。您可以使用NavigationExtras添加自定义数据以及要导航到的Url。

import { NavigationExtras} from '@angular/router';
//You will need navigations extras from Router.

在你组件的某个地方..

      let dataNav:NavigationExtras={queryParams:"somekey":"someValue",
"someOtherKey":"someOtherValue"}};
  this.router.navigate(['/path/whatever/'],dataNav);

,然后在目标组件中。

import { Router, ActivatedRoute, Params } from '@angular/router';
//you will need something like this

在构造函数中实例化ActivatedRoute,如下所示

constructor(
private route: ActivatedRoute,
private router: Router){}

最后获取第一个组件发送的参数..

  ngOnInit() {
this.route.queryParams
.subscribe(params =>{
  this.someOtherKeyReceived=params['someOtherKey']
});

}

 类似资料:
  • 我在一个组件中有一个按钮,单击我想转到另一个组件并将状态传递给该组件。 是这样的: 但它不起作用。单击“我去添加新问题url”,但组件AddNewQuestionPage不会呈现。若我不把路线放在AddQuestions组件中,而是放在应用程序组件中,它就可以工作。它是整个应用程序的主要组件,使用Switch,还设置了其他路由。 但是,如果状态问题是从应用程序组件呈现的,我不知道如何将其传递给Ad

  • 我试图使用react router将props从app.jsx传递到某个路由组件,但出现以下错误

  • 我需要通过使用路由器的组件道具。这是我的代码: 如您所见,我验证了我要传递给登录组件的道具。 当我记录道具时,未经验证的道具不存在。我做错了什么?我怎样才能正确地通过道具?我跟踪了文档和其他讨论。据我所知,这应该是可行的。react router和react router dom的版本为4.0.0

  • 在几个儿童显示器中的一个中: 似乎我不能直接将数据注入。看起来我在web控制台中遇到了错误: 这有点道理,但是我该怎么做: 从服务器从父组件中获取“节点”数据? 是否将从服务器检索到的数据传递到子路由器插座? 的工作方式似乎不同。

  • 我将如何让 调用的函数将数据传递给相应的路由组件? 在这种情况下,beforeEnter 的目的是确认有效的持有者令牌以 cookie 的形式存在。 目前,我让< code>beforeEnter在< code>/verify/auth上点击aws api网关,然后组件加载并调用< code>/list/repos上的dynamodb。问题是,两条路线都受到内置AWS api gatewayV2

  • 在Flasgger中,我试图为接受上传文件的路由创建文档。然而,尽管坚持规范,我不能在Flasgger UI中显示文件选择器。 我使用的是最新的(目前为止的),运行OpenAPI3规范(如),我在Swagger-UI中看到了这个提交,它为POST文件请求启用了文件选择器。 我知道以前也有人问过类似的问题,但没有一个与OAS版本3有关。