2017-09-04 16 views
-1

に結合:双方向Iは、入力フィールドと2つのボタンを持っているangular4

<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ボタンがクリックされたとき、私は2-wayが結合することによって得られる入力ボックスから変更goalStatusName値を渡したいです。 しかし、clearボタンをクリックした場合は、元のままでgoalStatusNameの値を渡したいと思います。

物事は私が試した: I無効双方向バインディングクリアボタンがしかし、クリックされた場合ので、その値は、私は入力ボックスから更新された値を渡すことはできませんよ、その場合には、変更されません:私は<input mdInput [ngModel]="row.goalStatusName">

角度材料md-cellでこれを使用し、入力フィールドから値を取得することはできません。

+0

あなたはどこかでオリジナルの値を自分で保存する必要があります。角度は初期状態を維持しません。フォームのすべての入力要素の値をすべて一度に取得できます。 –

+0

@GünterZöchbauer私はそのことを考えましたが、それに対してより良い方法(もしあれば)を探していました。...... Thnx – HBK

答えて

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... 
    } 
} 
関連する問題