Не могу поменять отображаемый компонент - Angular

С помощью ngSwitch пытаюсь менять отображаемый компонент:

<div [ngSwitch]="currentPage">
<div *ngSwitchCase="'login'">
  <app-login [changePage]="changePage"></app-login>
</div>
<div *ngSwitchCase="'registration'">
  <app-registration></app-registration>
</div>
<div *ngSwitchDefault>
  <app-default [changePage]="changePage"></app-default>
</div>

ChangePage - метод, который должен менять currentPage:

export class IdentificationWindowModalComponent implements OnInit {
  public currentPage: string;

  constructor(@Inject(MAT_DIALOG_DATA) public data: string) { 
    this.currentPage = data;
  }

  ngOnInit(): void {  }

  public changePage(path: string): void {
    this.currentPage = path;
  }
}

Data в конструтор и Path в changePage приходят корректные.

Я также пытался менять таким способом, но это не дало никаких положительных результатов:

this.currentPage = 'login';

В качесте тестирования я также пытался менять currentPage в конструкторе через некоторый промежуток времени(n-ое количество секунд) - это работает, отображаемый компонент меняется, но сделать это через функцию changePage у меня не получилось.

В чем может быть проблема? Что я делаю не так?


Ответы (1 шт):

Автор решения: Yaroslav.Production

Решил проблему, добавив к вызову передачу контекста:

<app-default [changePage]="changePage.bind(this)"></app-default>
→ Ссылка