angular4 中子页面如何获取父页面中通过routerLink传过来的参数

发布于 2022-09-06 03:37:37 字数 1524 浏览 11 评论 0

父组件(页面)上通过routerLink跳到子页面(通过下拉列表切换不同的子页面),但是在子页面上需要接收父页面上传的参数(动态参数),一直获取不了,报错也解决不了,接触angular不久,是在解决不了,求大佬们指导,非常感谢!!!
图片描述

代码如下:
父组件(父页面)中的切换路由,_value 就是所选择的试题分类
<ul class="dropdown-menu" aria-labelledby="dropdownMenu2">

<li><a [routerLink]="['/manager/exam-manage/manage-type-choice',_value]">选择题</a></li>
<li role="separator" class="divider"></li>
<li><a [routerLink]="['/manager/exam-manage/manage-type-completion',_value]">填空题</a></li>
<li role="separator" class="divider"></li>
<li><a [routerLink]="['/manager/exam-manage/manage-type-answer',_value]">解答题</a></li>

</ul>
看教程子页面的ts文件中这样写的:
ngOnInit() {
this.type = this.router.paramMap.switchMap((params: ParamMap) => {

     console.log(params);

});
}
但是一直报错:
报错信息:Argument of type '(params: ParamMap) => void' is not assignable to parameter of type '(value: ParamMap, index: number) => ObservableInput<{}>'.
Type 'void' is not assignable to type 'ObservableInput<{}>'.

这是子页面的URL:
clipboard.png

后面 “css“ 和 ”选择器” 就是想要获取到的值。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

护你周全 2022-09-13 03:37:37
export class ProductDetailComponent implements OnInit {
  private data: object;
  constructor(private routeInfo: ActivatedRoute) {}
  ngOnInit() {
    this.routeInfo.queryParams.subscribe(params => {
      this.data = params;
    })
    console.log(this.data);
  }
}

试试这个。不行再问我,可以参考我的笔记https://segmentfault.com/n/13...

罪#恶を代价 2022-09-13 03:37:37

不知道你子路由是怎么配置的?你有没有像图片一样配置路径中的:id令牌用来接收你的值呢?
图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文