SO已经具有类似的question,我尝试使用这些解决方案,但无法正常工作。
实际上问题是onHide事件由于*ngIf
而未触发,如果我删除了*ngIf
onHide正在触发。
<p-dialog [(header)]="dialogText" *ngIf="displayDlg" [(visible)]="displayDlg"
[modal]="true" [responsive]="true" (onHide)="close()">
但是问题是我在<p-dialog
内部有表单。如果我不使用*ngIf
,则在加载页面时会收到未定义的错误。我该如何解决这个问题。
答案 0 :(得分:1)
<ng-container *ngIf="displayDlg">
<p-dialog [(header)]="dialogText" [(visible)]="displayDlg"
[modal]="true" [responsive]="true" (onHide)="close()">
</ng-container>
在ng-container的* ngIf中添加表单加载逻辑。
答案 1 :(得分:0)
我有同样的问题。通过将p-dialog标记中的* ngIf与[[visible)]属性使用不同的布尔变量来解决。两者都使用相同的变量对我不起作用。这是基本思想。我以面向对象的方式做到了。我不会为您带来更多细节。