Angular ошибка материала при использовании ng-template - PullRequest
0 голосов
/ 04 августа 2020

Я хочу использовать другой пользовательский интерфейс для панели навигации с теми же ссылками, используя Angular материал (2 +).

Я пытался сделать это с <ng-template>, окружив ссылки mat-tab-link, но я получил следующую ошибку в консоли:

Ошибка ERROR: StaticInjectorError (AppModule) [MatTabLink -> MatTabNav]: StaticInjectorError (Platform: core) [MatTabLink -> MatTabNav]: NullInjectorError : Нет поставщика для MatTabNav!

Шаги для воспроизведения: Используя официальный пример

Я просто меняю html вот так:

<nav mat-tab-nav-bar [backgroundColor]="background">
    <ng-container *ngTemplateOutlet="list"></ng-container>
</nav>

<ng-template #list>
    <a mat-tab-link *ngFor="let link of links" (click)="activeLink = link" [active]="activeLink == link"> {{link}} </a>
    <a mat-tab-link disabled>Disabled Link</a>
</ng-template>

Разве ng-template не должен отображаться внутри <ng-container>?

...