У меня есть довольно простой c макет в <app-root>
:
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'UI';
}
app.component. html:
<app-navbar></app-navbar>
<router-outlet></router-outlet>
app.component. css
:host {
display: grid;
grid-template-rows: 63px 1fr;
grid-template-columns: 1fr;
height: 100vh;
width: 100vw;
grid-template-areas:
"navbar"
"main"
}
app-navbar {
grid-area: navbar;
}
routing-outlet {
grid-area: main;
}
Проблема, с которой я сталкиваюсь, заключается в том, что что угодно html шаблон, загруженный модулем маршрутизации, обрабатывается как третий шаблон на странице, что означает, что тег <routing-module>
занимает весь 1fr
вместо целевого шаблона, а затем целевой шаблон загружается как третий строка, которая обернута на нижней границе области просмотра.
У меня есть обходной путь, но кажется, что хак-у
grid-template-rows: 63px 0 1fr;
Есть ли лучший / более стандартный подход к этому