在Cordova中恢复后,Angular Material打开两个对话框

时间:2018-10-03 08:36:28

标签: android angular typescript cordova angular-material

我正在Android的Cordova应用中运行angular 6。当用户删除列表中的项目时,我将打开“角度材质”对话框,询问用户是否确定要删除该项目。

这是我第一次加载应用程序时的完美方法,但是当我离开应用程序并返回(Cordova pauseresume事件)并再次打开对话框时,似乎出现两个对话框打开。

在关闭并重新打开应用程序时,Angular进行了一些奇怪的与属性绑定的操作,因此我致电ChangeDetectorRef.detectChanges()手动加载所有内容。这似乎是对话框的问题,因为当我删除此调用时,对话框将正常运行。

这不是视觉错误,因为当我想关闭对话框时,我必须单击两次取消。

恢复事件触发时的完整代码:

document.addEventListener("resume", () => {
  this.measurementService.findMeasurement(this._orderId)
    .then((measurement: Measurement) => {
      this.measurementService.MeasurementChanged.emit(measurement)
      this.buttonText = this.ADD_BUTTON_TEXT;
      this.change.detectChanges();
    }).catch(() => {
      this.buttonText = this.START_BUTTON_TEXT;
    })

}, false); 

屏幕上发生了什么

enter image description here

0 个答案:

没有答案