【发布时间】:2018-11-12 03:45:37
【问题描述】:
我正在尝试将一个组件路由到另一个组件;每个组件都有一些表单数据(this.formBuilder.group)。当我从一个组件导航到另一个组件时,如果我回到前一个组件,则不会恢复填充的数据。
在为每个组件路由之前,有什么方法可以保存数据吗?在离开组件以保存所有表单数据之前,是否有任何生命周期方法可以检测?
navigation.ts:
if(currentNav == "Personal Details"){
this.router.navigateByUrl('/understand/personal');
} else if(currentNav == "Contact Details"){
this.router.navigateByUrl('/understand/contact');
}
contact.ts
ngOnInit() {
this.contactDetails = this.formBuilder.group({
email: ['', [Validators.required, Validators.email]],
mobileNumber: ['', Validators.required],
secondaryNumber: ['', Validators.required]
});
}
personal.ts
this.personalDetails = this.formBuilder.group({
country: ['', Validators.required],
countryOfIssue: ['', Validators.required],
countryOfBirth: ['', Validators.required]
});
}
【问题讨论】:
-
访问此 url 以获取路由事件angular.io/api/router/Event 您需要将表单数据存储在临时内存中。当您回来时,您需要读取存储的数据并重新分配给表单。