Angular use modal dialog in canDeactivate Guard service for unsubmitted changes (Form dirty)

前端 未结 7 2550
北荒
北荒 2020-12-05 19:35

In my Angular 4 application I have some components with a form, like this:

export class MyComponent implements OnInit, FormComponent {

  form: FormGroup;

          


        
7条回答
  •  佛祖请我去吃肉
    2020-12-05 19:55

    I implemented this solution with Angular Material Dialog:

    Material's modal has "componentInstance" instead of "content" in ngx-bootstrap Modals:

    if (component.isDirty()) {
      const subject = new Subject();
      const modal = this.dialog.open(ConfirmationDialogComponent, {
        panelClass: 'my-panel', width: '400px', height: '400px',
      });
    
      modal.componentInstance.subject = subject;
      return subject.asObservable()
    }
      return true;
    }
    

提交回复
热议问题