Angular, Внедрить вход из компонента в мой заголовок - PullRequest
1 голос
/ 07 января 2020

Я хочу, чтобы мой Pages индивидуально впрыскивал различные компоненты из других Pages/Components в header. Например, я хочу вставить поле поиска Input из моего content-component в мой header компонент. Я пробовал с ng-Content, но это только дублирует мой header в моем HTML. Проблема в том, что мой header не в каждом Component индивидуально, а в моем app.component.

Мой компонент заголовка:

<div class="header__sub">
<div class="header__title header__title--sub">
    <h2 class="title title--medium">{{ subtitle }}</h2>
</div>
<div class="header__search">
    <!-- Here should be my Input field -->
    <ng-content></ng-content>
</div>

Компонент из я хочу ввести поле ввода:

<app-header>
   <mat-form-field>
        <input matInput (keyup)="applyFilter($event.target.value)" placeholder="Search" />
   </mat-form-field>
</app-header>  
 ....

App-Component. html:

<mat-drawer-content>
    // The header
    <app-header-sub>
    </app-header-sub>
    <div class="content__inner">
        // My Content
        <router-outlet></router-outlet>
    </div>
</mat-drawer-content>

Как я могу отдельно ввести из каждого компонента отдельный тег в header (с функциональными возможностями)?

1 Ответ

1 голос
/ 07 января 2020

Вы можете использовать его следующим образом:

Дочерний компонент

<div class="header">
  <ng-content select="[name]"></ng-content>
<div>

Родительский компонент

<app-header>
  <div name>Hello World</div>
</app-header>

Демонстрация для справки: https://stackblitz.com/edit/ng-content-select-attribute

Или посмотрите здесь: Множественный нг-контент

...