我有一个路由器<router-outlet></router-outlet>
,其中包含以下路由:
{路径:“ employee /:id”,组件:EmployeeComponent}
在具有特定雇员的路由器出口内已经有一个EmployeeComponent组件的情况下,我在代码中执行以下操作:this.router.navigateByUrl('/employee/'+this.employee2);
URL更改了,但是组件不使用新的Employee执行ngOnInit()方法,并且内容没有刷新。我需要使用路由器上已经存在的EmployeeComponent实例化一个新的EmployeeComponent,或者刷新现有的EmployeeComponent。如何解决?
答案 0 :(得分:1)
需要注入“ ActivatedRoute”并订阅参数
constructor(route:ActivatedRoute){
route.params.subscribe(val=>{
// add to do function()
})
}
答案 1 :(得分:1)
您可以使用AcitvatedRoute
。
import { ActivatedRoute } from "@angular/router";
constructor(private route: ActivatedRoute) { }
使用 Params
ngOnInit(){
this.route.params.subscribe(param=>{
console.log(+params['id'])
})
}