Когда вы используете больше компонентов, это означает, что больше div
оборачивает ваш код ...
Этот "дополнительный" div беспокоит поведение noraml mat-sidenav
Таким образом, хитрость заключается в том, чтобы исключить только <mat-sidenav>
для основного компонента (в вашем случае sidenav-autosize-example
) и содержимое, помещенное в новый компонент (в вашем случае <app-main-menu></app-main-menu>
)
Также используйте :host
в sidenav-autosize-example
css для стилизации содержимого дочернего компонента.
См. Рабочий код
<mat-sidenav-container class="example-container" fullscreen autosize>
<app-toolbar></app-toolbar>
<mat-sidenav #sidenav class="example-sidenav" mode="side" position="end" opened="true">
<app-main-menu></app-main-menu>
</mat-sidenav>
</mat-sidenav-container>