我正在Android的Cordova应用中运行angular 6。当用户删除列表中的项目时,我将打开“角度材质”对话框,询问用户是否确定要删除该项目。
这是我第一次加载应用程序时的完美方法,但是当我离开应用程序并返回(Cordova pause
和resume
事件)并再次打开对话框时,似乎出现两个对话框打开。
在关闭并重新打开应用程序时,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);
屏幕上发生了什么