Ionic2 切换组件更改事件未触发
Ionic2 toggle component change event not firing
我的应用程序呈现良好,但为什么 change
事件函数 updateItem(item)
没有触发?
模板:
<ion-list>
<ion-item-sliding *ngFor="#item of items">
<ion-item>
<ion-label>{{item.title}}</ion-label>
<ion-toggle [(ngModel)]="item.completed" (change)="updateItem(item)"></ion-toggle>
</ion-item>
<ion-item-options>
<button primary (click)="editItem(item)">
<ion-icon name="edit"></ion-icon>Edit
</button>
<button secondary (click)="deleteItem(item)">
<ion-icon name="delete"></ion-icon>Delete
</button>
</ion-item-options>
</ion-item-sliding>
</ion-list>
Class:
export class Todos {
...
updateItem(item) {
alert(1)
this._todosService.update(item).subscribe(
response => { this.getItems(); }
);
}
...
}
更新
<ion-toggle [(ngModel)]="itemCompleted"></ion-toggle>
export class Todos {
get itemCompleted() {
return item.completed;
}
set itemCompleted(value) {
item.completed = value;
updateItem(item);
}
...
updateItem(item) {
alert(1)
this._todosService.update(item).subscribe(
response => { this.getItems(); }
);
}
...
}
原创
当[(ngModel)]="..."
工作时,这个
(ngModelChange)="updateItem(item)"
应该也能正常工作,并且可能会完成您尝试完成的工作。
根据 the Ionic documentation,你可以这样做 :
<ion-toggle [(ngModel)]="item.completed" (ionChange)="updateItem(item)" checked="false"></ion-toggle>
希望对您有所帮助!
如果初始值为 true 则 ionChange 没有用,因为它每次都会触发。
<ion-toggle [(ngModel)]="item.completed" (ngModelChange)="updateItem(item)"></ion-toggle>
希望对您有所帮助!
我的应用程序呈现良好,但为什么 change
事件函数 updateItem(item)
没有触发?
模板:
<ion-list>
<ion-item-sliding *ngFor="#item of items">
<ion-item>
<ion-label>{{item.title}}</ion-label>
<ion-toggle [(ngModel)]="item.completed" (change)="updateItem(item)"></ion-toggle>
</ion-item>
<ion-item-options>
<button primary (click)="editItem(item)">
<ion-icon name="edit"></ion-icon>Edit
</button>
<button secondary (click)="deleteItem(item)">
<ion-icon name="delete"></ion-icon>Delete
</button>
</ion-item-options>
</ion-item-sliding>
</ion-list>
Class:
export class Todos {
...
updateItem(item) {
alert(1)
this._todosService.update(item).subscribe(
response => { this.getItems(); }
);
}
...
}
更新
<ion-toggle [(ngModel)]="itemCompleted"></ion-toggle>
export class Todos {
get itemCompleted() {
return item.completed;
}
set itemCompleted(value) {
item.completed = value;
updateItem(item);
}
...
updateItem(item) {
alert(1)
this._todosService.update(item).subscribe(
response => { this.getItems(); }
);
}
...
}
原创
当[(ngModel)]="..."
工作时,这个
(ngModelChange)="updateItem(item)"
应该也能正常工作,并且可能会完成您尝试完成的工作。
根据 the Ionic documentation,你可以这样做 :
<ion-toggle [(ngModel)]="item.completed" (ionChange)="updateItem(item)" checked="false"></ion-toggle>
希望对您有所帮助!
如果初始值为 true 则 ionChange 没有用,因为它每次都会触发。
<ion-toggle [(ngModel)]="item.completed" (ngModelChange)="updateItem(item)"></ion-toggle>
希望对您有所帮助!