import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute){
}
ngOnInit(){
//put the below code in ngOninit
this.route.params.subscribe(params=>{
//you get params object with parameter passed
//ex: let id = params.id or take any action
});
}
4 回答
首次加载时,ngOnInit仅对路径触发一次 . 在ngOnInit中订阅observable . 和unSubscribe在ngonDestroy中 .
下一个代码只是为了向您展示逻辑 . 它不是原型,而是ts伪代码 .
假设以下路由配置:
您可以订阅组件中的params更改,如下所示:
需要注意的重要一点是
ngOnInit
仍然只会被调用一次 . 每次参数更改时,只会调用订阅块 . 所以你需要对订阅块中的param更改做出反应 .您可以使用以下代码段通过observable获取数据: this.route.params.subscribe()