【发布时间】:2021-12-18 21:03:44
【问题描述】:
我正在尝试开发一个主页来切换我已经成功完成的 sidenav,但是,如果 sidenav 关闭,我仍然希望在左侧显示图标而不是图标和文本(打开时)。 我有三个组件:app、header 和 side-nav。
切换器位于标题组件中,我创建了一个事件绑定器,以便切换时 sideNav 中的文本消失。这个问题是页面没有作为结果进行调整,sidenav 仍然是相同的大小但文本更少。 请参阅下面的代码(我只使用了我认为与此问题相关的代码的 sn-p)。
不确定这是打字稿问题还是 CSS 问题?
header.html
<button mat-icon-button (click)="toggleSideNav()"><mat-icon>menu</mat-icon></button>
header.ts
@Output() onToggleSideNav: EventEmitter<any> = new EventEmitter();
toggleSideNav() {
this.onToggleSideNav.emit();
}
app.html
<mat-drawer-container>
<mat-drawer mode="side" [opened]=true>
<app-side-nav [isExpanded]='sideNavOpen'></app-side-nav>
</mat-drawer>
<mat-drawer-content>
<app-header (onToggleSideNav)='sideNavToggler()'></app-header>
<router-outlet></router-outlet>
</mat-drawer-content>
</mat-drawer-container>
app.ts
sideNavOpen: boolean = true;
sideNavToggler() {
this.sideNavOpen = !this.sideNavOpen
}
sidenav.html
<mat-nav-list>
<a mat-list-item routerLink="/home" routerLinkActive="list-item-active">
<mat-icon>home</mat-icon>
<h4 mat-line *ngIf="isExpanded">Home</h4>
</a>
</mat-nav-list>
sidenav.ts
@Input() isExpanded: boolean = true;
【问题讨论】:
标签: angular typescript sidenav