Ionic2:ngOnChanges 未触发
Ionic2: ngOnChanges not triggering
我想在输入值或滑块更改时执行一些操作,但为什么当文本或范围输入更改时 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 装饰器。
更新2:
这个有效:
ion-range [(ngModel)]="percentage" min="0" max="100" (ionChange)="inputChanged()">
但它不适用于离子输入:
<ion-input type="text" [(ngmodel)]="total" (ionChange)="inputChanged()"></ion-input>
更新 3:
它与 keyup 一起工作:
<ion-input type="text" [(ngmodel)]="total" (keyup)="inputChanged()"></ion-input>
您可能需要用 @Input()
修饰 aData
编辑:
您可能需要通过模板连接离子事件。根据 changelog
,如果是 beta 8,事件称为 (ionChange)
,在 beta8 之前是 (change)
所以像 <ion-range [(ngModel)]="percentage" (ionChange)="changeFunc()" min="0" max="100">
我想在输入值或滑块更改时执行一些操作,但为什么当文本或范围输入更改时 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 装饰器。
更新2:
这个有效:
ion-range [(ngModel)]="percentage" min="0" max="100" (ionChange)="inputChanged()">
但它不适用于离子输入:
<ion-input type="text" [(ngmodel)]="total" (ionChange)="inputChanged()"></ion-input>
更新 3:
它与 keyup 一起工作:
<ion-input type="text" [(ngmodel)]="total" (keyup)="inputChanged()"></ion-input>
您可能需要用 @Input()
aData
编辑:
您可能需要通过模板连接离子事件。根据 changelog
,如果是 beta 8,事件称为(ionChange)
,在 beta8 之前是 (change)
所以像 <ion-range [(ngModel)]="percentage" (ionChange)="changeFunc()" min="0" max="100">