Angular “角度材质”对话框未正确显示数据

Angular “角度材质”对话框未正确显示数据,angular,Angular,在我的应用程序中,我全局处理错误,如果我遇到任何错误,我只是打开 mat对话框以显示错误描述和代码 问题是当对话框打开时,几秒钟后数据显示为空, 我通过调试测试数据是否正确发送,但显示错误描述和错误代码需要时间 这是全球处理错误的正确方法吗 import {ErrorHandler,Injectable} from '@angular/core' import { HttpErrorResponse } from '@angular/common/http'; import { errorDia

在我的应用程序中,我全局处理错误,如果我遇到任何错误,我只是打开 mat对话框以显示错误描述和代码

问题是当对话框打开时,几秒钟后数据显示为空, 我通过调试测试数据是否正确发送,但显示错误描述和错误代码需要时间 这是全球处理错误的正确方法吗

import {ErrorHandler,Injectable} from '@angular/core'
import { HttpErrorResponse } from '@angular/common/http';
import { errorDialog }  from '..error-dialog/error-dialog.component';
import { MatDialogConfig, MatDialog } from '@angular/material';

@Injectable()
export class GlobalErrorHandler extends ErrorHandler{
  constructor(private _dialog: MatDialog) {
    super();
  }
  handleError(error: any) {
    this.logError(error);
  }
  logError(error: any) {
    if (error instanceof HttpErrorResponse) {
        this.openGenericErrorDialog("BackEndErrorMessage",error.status);
    }
    else{
      throw error;
    }
  }

  openErrDialog(errMsg?: string,errCode?:number): void {
    const dialogData = new MatDialogConfig();
    dialogData.autoFocus = false;
    dialogData.data = {
      errorDescription: errMsg,
      errorCode:errCode
    };
    if(dialogData.data){
            this._dialog.open(errorDialog , dialogData);
    }


  }
}
我在
errorDialog
组件中添加了
afterContentInit
生命周期挂钩,在
afterContentInit
方法加载am设置
isLoad
标志为true之后 在HTML中使用
ngIf
指令,if
isLoad
true显示对话框内容。这是预期的工作,但当组件加载小空对话框显示

如何在ContentInit之后加载HTML内容?如何在加载前进行限制

ErrorDialogComponent:

import { Component, Inject,AfterContentInit } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';

@Component({
    selector   : 'error-dialog',
    templateUrl: './error-dialog.component.html',
    styleUrls  : ['./error-dialog.component.scss']
})
export class ErrorDialogComponent implements AfterContentInit
{
    errorCode:string;
    isLoaded:boolean=false;
    constructor(
        public dialogRef: MatDialogRef<ErrorDialogComponent>,
        @Inject(MAT_DIALOG_DATA) data)
    {
        this.errorCode=data.errorCode;
        this.errorDescription=data.errorDescription;
    }

    ngAfterContentInit(){
        this.isLoaded=true; 
    }
}


<div  *ngIf="isLoaded" >
    {{errorDescription}}
</div>
从'@angular/core'导入{Component,Inject,AfterContentInit};
从“@angular/material”导入{MAT_DIALOG_DATA,MatDialogRef};
@组成部分({
选择器:“错误对话框”,
templateUrl:“./error dialog.component.html”,
样式URL:['./错误对话框.component.scss']
})
导出类ErrorDialogComponent实现AfterContentInit
{
错误代码:字符串;
isLoaded:boolean=false;
建造师(
公共dialogRef:MatDialogRef,
@注入(MAT_对话框_数据)数据
{
this.errorCode=data.errorCode;
this.errorDescription=data.errorDescription;
}
ngAfterContentInit(){
this.isLoaded=true;
}
}
{{errorDescription}}

请发布错误对话框组件的完整代码。@earthw0rmjim已更新请发布错误对话框组件的完整代码。@earthw0rmjim已更新