2016-06-14 4 views
0

입력 값 또는 슬라이더가 변경 될 때마다 어떤 동작을 수행하지만 텍스트 또는 범위 입력이 변경 될 때 ngOnchanges가 트리거되지 않는 이유는 무엇입니까?Ionic2 : ngOnChanges가 트리거링하지 않음

컨트롤러 :

export class APage implements OnChanges { 

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

     constructor() { 

     } 

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

    } 

템플릿 :

<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> 

갱신 1 :

도움이되지 않았다 제안에 따라 @Input의 decorater를 추가합니다.

갱신 2는 :

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

을하지만 이온 입력이 작동하지 않습니다 :

이 작동

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

업데이트 3 :

이 키 업과 협력 :

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

답변

2

당신은 @Input()

편집과 aData을 장식해야 할 수 있습니다

그것은 당신이 템플릿을 통해 이온 이벤트에 연결해야하는 것이 아마. 베타 버전 8의 경우, 이벤트가 너무 <ion-range [(ngModel)]="percentage" (ionChange)="changeFunc()" min="0" max="100">

+0

같은 내가 베타를 사용하고 – Prashanth

+1

를 작동하지 않았다 @Input와 코드를 업데이트 했 changelog

에 따르면,이 (change)의 사전 beta8, (ionChange)라고합니다. 8. ionChange는 범위에서 작동하지만 이온 입력에서는 작동하지 않습니다. – Prashanth

관련 문제