在初期化中有表单验证和异步变同步获取后台数据:
/**
* 初期化
*/
async ngOnInit() {
this.dataList = await this.http.get(environment.xxxUrl).toPromise();
this.validateForm = this.fb.group(
{
xxxx: [null, [this.xxxxValidator]],
yyyy: [null, [this.yyyyValidator]],
},
{
updateOn: 'blur'
}
);
// 使用this.dataList
...
}
结果这样的写法导致表单验证不起作用,几次尝试才发现和顺序有关系,应该把异步变同步放在表单验证之后。具体代码如下:
/**
* 初期化
*/
async ngOnInit() {
// this.dataList = await this.http.get(environment.xxxUrl).toPromise();
this.validateForm = this.fb.group(
{
xxxx: [null, [this.xxxxValidator]],
yyyy: [null, [this.yyyyValidator]],
},
{
updateOn: 'blur'
}
);
this.dataList = await this.http.get(environment.xxxUrl).toPromise();
// 使用this.dataList
...
}