我这里有一个开关:

<ion-toggle (ionChange)="notify(value)"></ion-toggle>

当我点击这个时,我想调用方法notify,通过参数传递切换值。如何获取切换值?
谢谢您!

最佳答案

正如您可以在Ionic2 Docs - Toggle中看到的,更好的方法是使用ngmodel将切换绑定到组件中的属性。
组件代码:

public isToggled: boolean;

// ...

constructor(...) {
  this.isToggled = false;
}

public notify() {
  console.log("Toggled: "+ this.isToggled);
}

观点:
<ion-toggle [(ngModel)]="isToggled" (ionChange)="notify()"></ion-toggle>

这样,您就不需要发送值,因为它已经是组件的属性,并且您始终可以使用this.isToggled获取值。
更新
就像他在评论中提到的那样:
当IonChange直接绑定到ngModel时,请非常小心。当绑定到ngModel的值更改时,notify方法将被调用,无论是从视图中通过某人单击切换,还是在组件中通过代码(例如,当您执行一个新的get调用时)。我最近遇到了一个问题,点击切换触发了一个PATCH,这意味着当绑定到切换的数据更改时,所有其他客户机都会自动触发一个PATCH
我们使用:
<ion-toggle [ngModel]="isToggled" (ngModelChange)="notifyAndUpdateIsToggled()"></ion-toggle>绕过这个

09-16 20:31