2016-03-22 20 views
26

Model değiştikten sonra değerleri nasıl alabilirim? Model değişmeden önce (change) olayı tetikleniyor. Ben bilinen bir sorun var event.target.valueAçısal 2 değişiklik olayı - model değişiyor

<input type="checkbox" (change)="mychange(event)" [(ngModel)]="mymodel"> 

public mychange(event) 
{ 
    console.log(mymodel); // mymodel has the value before the change 
} 
+1

Olası kopyası [Açısal 2'nin geçerli durumunu göstermiyor] (http://stackoverflow.com/questions/34872843/angular-2-not-giving-current-state-of-checkbox) –

cevap

24

kullanmak istemiyoruz. Şu anda sorunuzda gösterilen gibi bir geçici çözüm kullanmanız gerekiyor.

Bu amaçlandığı gibi çalışıyor. değişiklik olayı ngModelChange yayıldığında ([(ngModel)] ait (...) bölümü henüz bağlı modelini yaptığını henüz:

<input type="checkbox" (ngModelChange)="myModel=$event" [ngModel]="mymodel"> 

da

+1

Not: Gunter 'ngModelChange' işlevini kullanır. '' ngModelChange' değil, sadece 'ngModelChange' değil –

32

ise Bu size yardımcı olur,

<input type="checkbox" (ngModelChange)="mychange($event)" [ngModel]="mymodel"> 

mychange(val) 
{ 
    console.log(val); // updated value 
} 
+0

Bu yanıt yararlıdır, ancak Gunter'in neden seçilmiş cevap olduğunu anlayabiliyorum, çünkü o (değişimin) farklı olduğunu belirtiyor. github sorunları; "click, üst düzey ngModel ile ilgili olmayan bir DOM olayıdır. Bunun için uygun olay ngModelChange'dır." –