angular4中的双向绑定

时间:2017-09-04 08:55:11

标签: angular

我有一个输入字段和两个按钮:

#import "MTDURLPreview.h"

[MTDURLPreview loadPreviewWithURL:@"url here" completion:^(MTDURLPreview *preview, NSError *error) {
    NSLog(@"Image URL : %d", [preview.imageURL isEqual:[NSNull null]]);
    NSLog(@"Content : %@", preview.content);
    NSLog(@"Title : %@", preview.title);
}];

单击<md-input-container><input mdInput [(ngModel)]="row.goalStatusName"></md-input-container> <button md-icon-button> <md-icon (click)="modifyGoalStatusName(row)">done</md-icon> </button> <button md-icon-button> <md-icon (click)="modifyGoalStatusName(row)" >clear</md-icon> </button> 按钮时,我想从输入框传递更改的saved值,该值是通过双向绑定获得的。 但是,如果单击goalStatusName按钮,我希望传递原始未更改的clear值。

我尝试过的事情: 我禁用了双向绑定,因此如果单击清除按钮,则不会更改值,但在这种情况下,我无法从输入框传递更新的值:goalStatusName

我在角度材质<input mdInput [ngModel]="row.goalStatusName">中使用它,因此无法从输入字段中检索值。

1 个答案:

答案 0 :(得分:0)

您可以使用OnChanges生命周期钩子。如documentation中所述,您可以在该模型中获得有关变化的新旧价值。示例代码如下:

@Component({selector: 'my-cmp', template: `...`})
class MyComponent implements OnChanges {
  @Input()
  prop: number;

  ngOnChanges(changes: SimpleChanges) {
    // changes.prop contains the old and the new value...
  }
}