2017-01-09 12 views
6

क्या कोई मुझे बता सकता है कि ngModel पुराने और नए मूल्य की तुलना करने के लिए सबसे अच्छा अभ्यास क्या है?कोणीय 2 ngModelChange पुराना मान

कोणीय 1:

$scope.$watch('someProperty', funciton(oldVal, newVal){ 
    // code goes here 
}) 

मैं इस पूछ रहा हूँ क्योंकि (ngModelChange) कभी नहीं मुझे oldVal, केवल newVal लाता है।

मेरे मामले में, मैं एक <select> टैग में ngModel का उपयोग करने और नए के साथ पुराने चयन की तुलना कर रहा हूँ:

<select [(ngModel)]="current" (ngModelChange)="onModelChange($event)"> 
    <option *ngFor="let item of myArray" [ngValue]="item">{{item.name}} </option> 
</select> 

उत्तर

6

यह

(ngModelChange)="onModelChange(oldVal, $event); oldVal = $event;" 

या

(ngModelChange)="onModelChange($event)" 
oldValue:string; 
onModelChange(event) { 
    if(this.oldValue != event) { 
    ... 
    } 
    this.oldValue = event; 
} 
+0

मैंने कोशिश की लेकिन पुराना वाल पैराम अपरिभाषित है। मैं टैग में इस comparation उपयोग कर रहा हूँ (मेरे संपादित पोस्ट देखें)। मुझे लगता है (फोकस) अब प्रासंगिक नहीं है। क्या आप एक चुनिंदा टैग के साथ एक उदाहरण लिख सकते हैं? –