Angular 6 Mat-Dialog не открывается из роутера-розетки - PullRequest
0 голосов
/ 23 ноября 2018

У меня проблема при попытке открыть диалоговое окно в моем приложении.Странная вещь в том, что диалоговое окно не открывается из компонента входа в систему, который загружается через роутер:

<div class="main-page">
  <div class="header-eco"  *ngIf="resources.user" >
    <eco-header [FormHeader]="'ECO - ' + formHeader"></eco-header>
  </div>
  <button (click)="openDialogTest()"></button>
  <div class="form-container">
      <router-outlet ></router-outlet>
  </div>


  <div class="footer-c"  *ngIf="resources.user" >
    <eco-footer
      [ShowNavPrev]="CanNavBack()"
      [ShowNavNext]="CanNavNext()"
      [prev]="prevPage"
      [next]="nextPage"
      [showAddButton]="ShowAddButton()"
      [disableSaveButton]="DisableSaveButton()"
      [disableAddButton]="DisableAddButton()"
      [showSaveButton]="ShowSaveButton()"
      (SubmitForm)="SubmitForm($event)"
      (AddNewRow)="AddNewRow($event)"
    ></eco-footer>
  </div>

, когда я вызываю тот же код, он работает из «openDialogTest»а не из моего компонента входа в систему.чтобы открыть диалоговое окно, я использую следующий код:

export class LoginComponent implements OnInit {


  constructor(private http:CommunicationServieService,  private dialog: MatDialog){}

  ForgotPassword(){
    console.log("open")
    const dialogConfig = new MatDialogConfig();
    dialogConfig.autoFocus = true;
    const dialogRef = this.dialog.open(ForgotPasswordDialogComponent, dialogConfig);
  }

мой appModule:

import { ForgotPasswordDialogComponent } from './Dialogs/forgot-password-dialog/forgot-password-dialog.component';

@NgModule({
  declarations: [
    AppComponent,
...
 ForgotPasswordDialogComponent,
    ChangePasswordDialogComponent],
  entryComponents:[BaseDialogComponent,ForgotPasswordDialogComponent,ChangePasswordDialogComponent]

Редактировать

Я добавил несколько журналов консоли, чтобы сделатьуверен, что функция вызывается и работает.

мой LoginComponent HTML:

    <div>
        <a href="#" (click)="ForgotPassword()" class="txt1">
            Forgot Password?
        </a>
    </div>

мой компонент входа ts:

ForgotPassword(){
    console.log("open")
    const dialogConfig = new MatDialogConfig();
    dialogConfig.autoFocus = true;
    const dialogRef = this.dialog.open(ForgotPasswordDialogComponent, dialogConfig);
  }

какие-либо предложения?

...