ion-toggle ionChange 在 ionic 中被多次调用

ion-toggle ionChange get called multiple times in ionic

ion-toggle ionChange 在 ionic 中被多次调用。我曾尝试使用不同的技术来解决它,但我没有成功。

代码 1:

     <ion-toggle
        (ionChange)="changeData()"
        color="success"
        checked="{{data}}"
      >
     </ion-toggle>

问题:当我使用代码 1 时,ionChange 被多次调用,它第一次没有显示正确的状态。

代码 2:

     <ion-toggle
        (ionChange)="changeData()"
        color="success"
        [(ngModel)]="data"
      >
    </ion-toggle> 

问题:代码2导致无限循环。它无限地调用 ionChange。

如果有人遇到过类似的问题and/or有人知道如何解决它,请告诉我。谢谢

如果您在 [=17] 中更改 boolean 的值,则可能会发生无限循环或多次调用方法 =](ionChange)="changeData()" 而你已经在使用 [(ngModel)]="data" 正在改变 boolean 切换 。因此,请删除代码中任何在 ionChange.

上更改数据的代码

当我在 ionChange 上更改布尔值时,我遇到了类似的问题,而我已经在使用 [(ngModel)] .

因此删除任何类似于以下代码的代码 changeData() 方法:

// remove code which is changing state again
       
 data = !data

我通过以下方式解决,从 ngModel 中删除 link 或检查一些变量。为了回到之前的状态,我映射了 viewChild 并从那里控制它。

在线测试link here