Ionic v3:切换隐藏/取消隐藏密码仅在循环结束后才有效

问题描述

我有一个可用作2FA的应用程序,但iOS平台出现了问题。

  • 当我切换隐藏/取消隐藏密码时,ng容器仅在倒数计时结束(30秒)并从数据库获取一个密码后才更改。

问题在于,此问题仅在iOS上。在Android上,保存并关闭配置页面后,ng-container会在每个切换状态下更改。因此,使用相同的代码,在iOS上,在切换切换隐藏/取消隐藏密码后,我必须等待计数器结束并加载下一个密码。

[list.html]

<ng-container *ngIf="cod.hide == 1"> 
     <p class="generatedCode">--- ---</p>
     <p class="nameCode">{{cod.title}}</p>
</ng-container>
<ng-container *ngIf="cod.hide == 0"> 
     <p class="generatedCode">{{cod.password}}</p>
     <p class="nameCode">{{cod.title}}</p>
</ng-container>

[list.ts]

presentPopover(myEvent) {
    let popover = this.popoverCtrl.create(PopoverComponent);
    popover.present({
      ev: myEvent
    });

    popover.onDiddismiss(data => {
      this.getHidePassword();
      this.changeClockColor();

      setTimeout(() =>{
        for(let item of this.passwords){
          item["hide"] = this.hidePassword;
        }
      },200);
    });
  }

[config.html]

<ion-toggle [(ngModel)]="hidePassword" [checked]="hidePassword" (ionChange)="toggleChange($event)"></ion-toggle>

[config.ts]

toggleChange($event){
    var check = 0;

    if($event.checked){
      check = 1;
    }

    this.database.setDataHide("hidePassword",check).then(() => {        
      console.log("Saved!");
    }).catch(e => console.log(e)); 
  }

关于如何使iOS版本像Android版本一样工作的任何建议?或者我应该检查什么。

  • 每次我在配置页面中更改“隐藏/取消隐藏”切换时,都可以隐藏/取消隐藏ng-container(密码)。不要等待计数器结束(并从数据库获取一个密码)。

我在Ionic Forum中打开了一个话题,但直到现在都没有建议。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)