离子切换(ngModelChange)打印错误的输出

Posted

技术标签:

【中文标题】离子切换(ngModelChange)打印错误的输出【英文标题】:Ion-toggle (ngModelChange) prints wrong output 【发布时间】:2017-09-08 05:38:43 【问题描述】:

这是我的 .html 文件

<ion-item no-lines (click)="update()" >
        <ion-label> Notification</ion-label>
        <ion-toggle [(ngModel)]="notify" (ngModelChange)="update()"></ion-toggle>
    </ion-item>

这是我的 .ts 文件

notify:boolean = true;

update()
  consol.log(this.notify);

当我点击Notification 文本时,我正在打印true

当我点击ion-toggle 时,它会打印我false

当我点击 ion-toggle 时,它​​会打印出与布尔值相反的内容,但我并没有改变任何关于这个问题的想法。

【问题讨论】:

这是个问题吗?切换动作应该改变值..“从技术上讲,切换与 HTML 复选框输入相同,只是它看起来不同并且更易于在触摸设备上使用。” ionicframework.com/docs/api/components/toggle/Toggle 是的,如果您看到通知变量是从获取请求中更新的,因此我正在使用 ngmodelchange,然后我的 ngmodel 更改正在与通知变量相反打印,但我的点击功能工作正常@suraj 所以它在点击后打印,将 true 更改为 false..notify 是ngModel..并没有真正让你 我有一个函数调用不同的动作,如果你看到我的 html 代码你会得到(click),另一个是(ngModelChange),当我点击(click)我正在打印时调用相同的函数notify 变量中可用的相同数据,但是当我单击 (ngModelChange) 时,我会打印通知 @suraj 的相反值 【参考方案1】:

根据ionic docs

尝试删除/重命名函数更新

<ion-toggle [(ngModel)]="notify" (ngModelChange)="update()"></ion-toggle>

DEMO

【讨论】:

ion-toggle 在页面出现时从 ts 文件更新,因此 ionchange 会自动调用函数 @MohanGopi 现在有什么问题? 是的,点击功能正在正确打印我,但我的 ngModelchange 正在打印通知变量的对面 你尝试过 ionchange 吗? 是的,如果您看到通知变量是从获取请求更新的,因此我正在自动调用该函数,所以我正在使用 ngmodelchange,然后我的 ngmodel 更改正在与通知变量相反打印,但我的点击功能正常

以上是关于离子切换(ngModelChange)打印错误的输出的主要内容,如果未能解决你的问题,请参考以下文章

如何删除离子切换周围的边框

离子选择切换问题

单击 ion-label 以切换离子切换

离子切换背景颜色不工作

离子切换按钮不显示正确的切换 - Ionic 3,Angular 4

如何在离子切换中放置文本