вы можете найти примеры моего ответа на демонстрационный код ngx-admin в реальном времени на github. Таким образом, вы можете использовать включенный layoutService из nebular, чтобы сделать боковую панель отзывчивой. Пример:
<nb-sidebar class="menu-sidebar" tag="menu-sidebar" responsive>
<nb-menu [items]="YourItems"></nb-menu>
</nb-sidebar>
, а затем сделать кнопку для переключения между развернутым, сжатым и свернутым. Вот кнопка и ее код, чтобы переключаться и автоматически позаботиться об отзывчивости.
<a (click)="toggleSidebar()" class="sidebar-toggle">
<nb-icon icon="menu-2-outline"></nb-icon>
</a>
и затем в вашем файле ts используйте сервис макета:
import { NbSidebarService } from '@nebular/theme';
import { LayoutService } from '../../@core/utils';
constructor(private layoutService: LayoutService, private sidebarService:NbSidebarService){}
toggleSidebar() {
this.sidebarService.toggle(true, 'menu-sidebar');
this.layoutService.changeLayoutSize();
return false;
}
Наконец, чтобы решить для Ширина боковой панели просто зарегистрируйте их с переменными в примере темы по умолчанию:
@import "~@nebular/theme/styles/theming";
@import "~@nebular/theme/styles/themes/default";
$nb-themes: nb-register-theme(
(
sidebar-width: 16rem,
sidebar-width-compact: 3.5rem
),
default,
default
);