将路由器参数传递给组件

时间:2019-10-08 21:01:32

标签: angular parameters components router

在我的有角度网站的mainComponent中,我以这种方式读取url参数:

  constructor(private activatedRoute: ActivatedRoute) {}

ngOnInit(){ 
   this.activatedRoute.params.subscribe(params => {
   const id = params['id'];
   console.log(id);
});
}  

这是我设置路由的方式:

const routes: Routes = [
{ path: 'contatti', component: ContattiComponent },
{ path: 'main/:id', component: MainComponent }
];

如何将“ id”传递给contactComponent?

1 个答案:

答案 0 :(得分:1)

如果我正确理解,可以通过以下方式读取路由中的路由器参数:

constructor( private router: Router){
}

someId: any;


ngOnInit(){
  this.route.params
        .subscribe( (data: any) => this.someId = data.id //<-- here is your id);

    }

更新

关于您的组件结构的信息很少。因此,假设您的主要组件包含其他组件的模板

然后通过您的模板,您可以将ID传递给其他组件:

<contatti-component
 [myId]="someId">
</contatti-component>