Angular 在router.navigateByUrl之后刷新组件到具有不同参数的相同URL
我有一个路由器Angular 在router.navigateByUrl之后刷新组件到具有不同参数的相同URL,angular,url,router,reload,Angular,Url,Router,Reload,我有一个路由器,它包括以下路由: {path:'employee/:id',component:EmployeeComponent} 由于路由器出口中已经有一个EmployeeComponent组件和一个特定的员工,我在代码中执行以下操作:this.router.navigateByUrl('/employee/'+this.employee2) url会更改,但组件不会对新员工执行ngOnInit()方法,并且不会刷新内容。我需要用路由器上已有的EmployeeComponent实例化一个新的
,它包括以下路由:
{path:'employee/:id',component:EmployeeComponent}
由于路由器出口中已经有一个EmployeeComponent组件和一个特定的员工,我在代码中执行以下操作:this.router.navigateByUrl('/employee/'+this.employee2)代码>
url会更改,但组件不会对新员工执行ngOnInit()方法,并且不会刷新内容。我需要用路由器上已有的EmployeeComponent实例化一个新的EmployeeComponent,或者刷新现有的EmployeeComponent。如何解决这个问题?需要注入“ActivatedRoute”并订阅参数
constructor(route:ActivatedRoute){
route.params.subscribe(val=>{
// add to do function()
})
}
您可以使用ACITVATEDUROTE
import { ActivatedRoute } from "@angular/router";
constructor(private route: ActivatedRoute) { }
使用参数
在我看来,您应该使用ActivatedRoute
ngOnInit(){
this.route.params.subscribe(param=>{
console.log(+params['id'])
})
}