2016-06-14 11 views
0

Ich möchte eine Aktion ausführen, wenn der Eingabewert oder der Schieberegler geändert wird, aber warum wird ngOnchanges nicht ausgelöst, wenn Text- oder Bereichseingabe geändert wird?Ionic2: ngOnChanges löst nicht aus

Controller:

export class APage implements OnChanges { 

     @Input() total: string; 
     @Input() percentage: string; 

     constructor() { 

     } 

     ngOnChanges(changes: {[propName: string]: SimpleChange}) { 
      console.log('ngOnChanges'); 
     } 

    } 

Vorlage:

<ion-list> 
    <ion-item>  
     <ion-label floating>Total</ion-label> 
     <ion-input type="text" [(ngmodel)]="total"></ion-input> 
    </ion-item> 

    <ion-item> 
     <ion-label stacked>Percentage: {{percentage}} %</ion-label> 
     <ion-range [(ngModel)]="percentage" min="0" max="100"> 
     </ion-range> 
    </ion-item> 
</ion-list> 

Update1:

hinzufügen @Input decorater gemäß dem Vorschlag, der nicht helfen.

Update2:

Dies funktioniert:

ion-range [(ngModel)]="percentage" min="0" max="100" (ionChange)="inputChanged()"> 

Aber es funktioniert nicht für Ioneneingang:

<ion-input type="text" [(ngmodel)]="total" (ionChange)="inputChanged()"></ion-input> 

Update 3:

Es mit keyup gearbeitet:

<ion-input type="text" [(ngmodel)]="total" (keyup)="inputChanged()"></ion-input> 

Antwort

2

Möglicherweise müssen aData mit @Input()

bearbeiten dekorieren:

Es ist wahrscheinlich, dass Sie über die Vorlage in den ionischen Ereignisse Haken müssen. Wenn es Beta 8, wird das Ereignis (ionChange), pre beta8 nannte es (change) ist, nach dem changelog

so etwas wie <ion-range [(ngModel)]="percentage" (ionChange)="changeFunc()" min="0" max="100">

+0

mit Code mit @Input aktualisiert haben, die nicht – Prashanth

+1

funktionierte ich Beta bin mit. 8. IonChange funktionierte für den Bereich, funktioniert aber nicht für Ionen-Input – Prashanth

Verwandte Themen