当页面重定向到具有不同查询字符串的同一页面时,路由不起作用

时间:2017-06-14 08:09:04

标签: angular angular2-routing

在app.component.ts上,当我搜索员工并且它重定向员工详细信息页面时,我有一个搜索自动完成控件。但是如果我从员工详细信息页面搜索另一个员工,页面不会因为路由路径而加载相同且唯一的查询字符串值已更改。

当我打电话给url时,它工作正常。

http://myapp.com/employee/33

但是当我从employeedetail页面搜索员工时,页面不会加载新值。



const routes: RouterConfig = [
      { path: '', component: HomeComponent },
      {path: 'employee/:id', component:employeedetails}
    ];




2 个答案:

答案 0 :(得分:0)

如何加载员工详细信息?你订阅了路由器的变化吗?如果你不是,那么它不会改变.. 像这样的东西

      ngOnInit(){
        this.route.params.subscribe(params => {
              this.id = params['id'];
        }
        //get employee details with id
      }

答案 1 :(得分:0)

是的!!我得到了解决方案。 在Angular中,当我们从同一页面调用相同的路径路径但参数不同时,它将视为同一页面,因此出于安全原因,它不会重定向。

  

路线档案

const routes: RouterConfig = [
      { path: '', component: HomeComponent },
      {path: 'employee/:id', component:employeedetails},
 {path: 'employee/a/:id', component:employeedetails}
    ];
  组件文件上的

: -

 if (window.location.href.indexOf("employee/a") > -1) {
                    this._pagePath = ['employee', Value]
                }
                else {
                    this._pagePath = ['employee/a', Value]
                }