p-dialog onHide无法与ngIf一起使用?

时间:2019-03-05 10:28:23

标签: angular primeng

SO已经具有类似的question,我尝试使用这些解决方案,但无法正常工作。

实际上问题是onHide事件由于*ngIf而未触发,如果我删除了*ngIf onHide正在触发。

 <p-dialog [(header)]="dialogText" *ngIf="displayDlg" [(visible)]="displayDlg" 
  [modal]="true" [responsive]="true" (onHide)="close()">

但是问题是我在<p-dialog内部有表单。如果我不使用*ngIf,则在加载页面时会收到未定义的错误。我该如何解决这个问题。

2 个答案:

答案 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)]属性使用不同的布尔变量来解决。两者都使用相同的变量对我不起作用。这是基本思想。我以面向对象的方式做到了。我不会为您带来更多细节。