如何在同一组件上刷新路由更改的组件?

How to refresh a component on routing change when on the same component?

我正在做一个 angular 4 项目,遇到了以下情况:

我有一个用于预约的两步预约表格。我有两个不同的行业,假设是行业 A 和行业 B,现在当我进行预订时,假设是行业 A 并转到第 2 步,假设我单击其他行业 B(可通过侧面菜单访问)我仍然停留在第 2 步, 我希望页面重新加载到第 1 步,所以简而言之,我想访问具有不同路由的同一组件。

用技术语言来说,我在一个组件上,我想在路由更改时刷新同一个组件。 如果有人知道请告诉我。提前致谢!

你好,这是一个设计问题:只需像这样为每个公司创建一个具有状态的 Map 对象:formProgress[company][step] 然后检查路线更改的值。然后在您的 HTML 中创建一个表单并将所有步骤作为单独的组件,以便在每个 HTML 标签上您可以使用 <div *ngIf="step===2">

对于路由更改检测,只需比较 window.href.location 或变量中的先前路由,以及 activatedRoute 参数(此步骤需要您了解更多有关路由的信息)

试试这个可能会解决你的问题

import { ActivatedRoute } from  '@angular/router';

export class xyz {
   constructor (private activatedRoute: ActivatedRoute) {

   }

   ngOnInit() {
       // calls form when route parms change,
       // the method calls when your route params will change
       this.activatedRoute.params.subscribe (res => {
          this.validateForm();
       }    
   }

   // build form
   validateForm () {

   }
}