【发布时间】:2020-09-21 15:01:50
【问题描述】:
我有一个用类似这样的东西初始化的 Angular 表单
buildForm() {
this.form = this.formBuilder.group({
value1: this.formBuilder.control(null),
value2: this.formBuilder.control(false)
});
}
我在 html 的标签中使用了[required],我有两个条件,第一个是需要 true/false 的对象,第二个是表单中的另一个值(可以在 ts 或由用户)。
<div [formGroup]="form">
<div *ngIf="valuesObject.value1.display">
<mat-form-field>
<mat-select formControlName="value1"
[required]="valuesObject.value1.required || form.value.value2">
<mat-option [value]="null"> empty <mat-option>
<mat-option [value]="1"> option 1 <mat-option>
</mat-select>
</mat-form-field>
</div>
</div>
每次[required] 从 false -> true 或 true -> false 翻转时,它都会向我的 form.valueChanges 发送一个事件,然后它会向服务器发送一个调用,因为它认为数据已更新。有没有办法忽略此事件或捕获它,以便我可以在.valueChanges 中设置一个标志来忽略它?
【问题讨论】: