Angular2 ngModelChange 以前的值

标签 angular angular2-ngmodel

有没有办法在 ngModelChange 上获取字段的前一个(最后一个)值? 我所拥有的是这样的

HTML

<input type="text" [(ngModel)]="text" (ngModelChange)="textChanged($event)">

处理程序

private textChanged(event) {
    console.log('changed', this.text, event);
}

我得到的是

changed *newvalue* *newvalue*

当然我可以使用另一个变量来保留旧值,但是有更好的方法吗?

最佳答案

你可以做的是,

演示:http://plnkr.co/edit/RXJ4D0YJrgebzYcEiaSR?p=preview

<input type="text" 
       [ngModel]="text"                      //<<<###changed [(ngModel)]="text" to [ngModel]="text"
       (ngModelChange)="textChanged($event)"> 

private textChanged(event) {        
    console.log('changed', this.text, event);
    this.text=event;                          //<<<###added 
}

关于Angular2 ngModelChange 以前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172351/

相关文章:

Angular & RX : improved subscription collection

从 Angular 7 迁移后,Angular 8 无法构建

angular2 将 ngModel 传递给子组件

Angular 2 : JQuery UI Datepicker not changing ngModel

angular - 如何在表单内的 Angular ngx-bootstrap 的日期选择器中更改日期格式

javascript - 删除数组对象 typescript/JavaScript 的某些属性时出错

angular - 指定索引处的动态组件未正确放置

具有嵌套状态的 Angular2 路由

angular - 如何在 Angular 2 中使用 ngModel 在多选中设置默认选定值

angular2 从指令访问 ngModel 变量