当我更改NgModel时,更改表单不会触发

时间:2019-05-20 11:06:44

标签: angular forms angular-ngmodel

我有一个表单,并且更改了输入订单的值,但是事件(更改)不起作用。

该值已在输入中正确设置,但更改不会触发。

<form (ngSubmit)="searchAdds(formAside)" (change)="searchAdds(formAside)" #formAside="ngForm">

<input type="text" [ngModel]="searchAside.order" name="order">
</form>

 ngOnInit() {
    this.subscription = this.formModel.missionAnnounced$.subscribe(
      order => {
        this.searchAside['order'] = order;
      }, error => {
      });
}

2 个答案:

答案 0 :(得分:0)

您是否尝试过两种方式的数据绑定? [(ngModel)] =“ searchAside.order”?

答案 1 :(得分:0)

那是因为Angular在内存引用更改而非属性更改上触发更改检测。

尝试使用ChangeDetectorRef手动触发检测,或使用

创建新的对象内存引用
this.searchAside = { ...this.searchAside, order };