0

我有一个组件路由到另一个组件传递一些条件参数

这是定义路由的代码:

redirect(topicname : string){
    alert(topicname)
    this.router.navigate(['/chapters'], { queryParams: { topic: topicname } });
  }

在我定义的 Chapters.component.ts 文件中:

export class ChapterstemplComponent implements OnInit {
  topic : string;
  constructor( private route : ActivatedRoute) { 
    this.topic= this.route.snapshot.params.topic;
    alert( this.route.snapshot)
  }

但是 this.topic 没有收到任何价值。我想在我的 chapters.component 的 HTML 文件中使用它。注意:警报消息确认“主题名称”在第一个片段中发送良好但在第二个片段中,路由没有收到任何参数这是相同的图像:

第一次/发送警报:在此处输入图像描述

第二次/收到警报:在此处输入图像描述

4

1 回答 1

1

我们可以借助paramMap获取查询参数

尝试执行以下操作,这将获取ActivatedRoute的 queryParams 订阅中的参数。

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

您还可以在此处详细阅读有关路由的更多信息:navigate-to-other-page

快乐编码.. :)

于 2021-06-05T11:55:00.393 回答