如何在同一组件上刷新路由更改的组件?
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 () {
}
}
我正在做一个 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 () {
}
}