Я хочу использовать другой пользовательский интерфейс для панели навигации с теми же ссылками, используя 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>
?