放置响应后更改ngModel值

时间:2018-05-07 14:20:25

标签: angular typescript

我有一个名为dummy_value的变量,我想用输入框更改它。

<p>{{dummy_value}}</p>
<input [(ngModel)]="dummy_value" />

当我这样做时,dummy_value因两次绑定而立即更新。 但是我想在API响应之后更改它而不定义额外的变量。

public changeInput() {
   this.my_service.changeInput(this.dummy_value)
      .then(response => {
        // change here.
      }
}

有办法做到这一点吗?感谢。

1 个答案:

答案 0 :(得分:1)

删除双向数据绑定并使用@ViewChild装饰器:

<p>{{dummy_value}}</p>
<input #myname [ngModel]="dummy_value" />
@ViewChild('myname') input: ElementRef;
public changeInput() {
   this.my_service.changeInput(this.dummy_value)
      .then(response => {
        this.dummy_value = this.input.nativeElement.value;
      }
}

Working Demo