状态更改但组件未更新-ANGULAR

时间:2020-02-10 17:42:07

标签: javascript angular ionic-framework state render

当我在ok按钮的回调函数中创建警报时,我正在使用带有角度的离子膜,我正在更改状态。状态更改,但是此更改在iu中不起作用,我认为组件未更新。我该如何解决?

async presentAlert() {
    const alert = await this.alertController.create({
      header: '',
      message: '',
      buttons: [
        'cancel',
        {
          text: 'ok',
          handler: () => {
            this.currentScreen = "";
            this.dates[this.currentDateIndex].isOrdered = false;//disable order
          }
        }
      ]
    });
    await alert.present();
  }

1 个答案:

答案 0 :(得分:1)

您可以尝试使用ChangeDetectorRef明确声明已进行更改,并且视图需要更新。

参考:https://angular.io/api/core/ChangeDetectorRef

示例:

在构造函数中声明ChangeDetectorRef

constructor(public cd: ChangeDetectorRef) {}

然后在您的回调中使用它:

buttons: [
    'cancel',
    {
      text: 'ok',
      handler: () => {
        this.currentScreen = "";
        this.dates[this.currentDateIndex].isOrdered = false;//disable order
        this.cd.detectChanges();
      }
    }
  ]