Как передать дочерний вывод в компонент приложения, содержащий router-outlet в Angular - PullRequest
0 голосов
/ 23 марта 2020

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

index. html:

<app-root></app-root>

app.component. html:

<router-outlet></router-outlet>

app.component.ts :

@Component({
  selector: 'app-root',
  ...
})

export class AppComponent implements OnInit {

  change = false;

  ...

  getStatus(value: boolean): void {
    this.change = value;
  }

...
}

child.component.ts (обрабатывается через выход маршрутизатора, например, с URL-адреса, например / child):

@Component({
  selector: 'app-child',
  ...
})

export class ChildComponent implements OnInit {

  @Output() doStuff: EventEmitter<boolean> = new EventEmitter<boolean>();

  ...

  emitStuff(): void {
    this.doStuff.emit(true);
  }
}

child.component. html:

<a (click)="emitStuff()">Click</a>

Теперь, куда мне прикрепить привязку (doStuff)="getStatus()?

Обычно в <app-child (doStuff)="getStatus()">, но это недоступно, например, в stati c app.component. html где-то написано селектор <app-child></app-child>. Я просто не понимаю, извините;)

1 Ответ

0 голосов
/ 23 марта 2020

В родительском компоненте вы можете получить экземпляр текущего компонента: 1007 *

...