Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在router.navigateByUrl之后刷新组件到具有不同参数的相同URL_Angular_Url_Router_Reload - Fatal编程技术网

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'])
  })
}