You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular Material 17侧边导航(SideNav)无法打开问题求助

Angular Material 17侧边导航(SideNav)无法打开问题求助

嘿各位,最近在重新复习Angular的知识,结果卡在侧边导航这里了——用Angular Material 17做的侧边栏,点击工具栏的菜单按钮完全没反应,打不开,求帮忙看看问题出在哪!

目前我有两个核心组件:header-component(顶部工具栏)和sidenav-component(侧边导航)。我把sidenav-component作为子组件引入到了header-component里,然后header-component又被用到了app-component中。下面是我目前的代码:

header-component.html

<mat-toolbar color="primary" class="toolbar">
  <button (click)="openSideNav()" mat-button color="secondary">
    <mat-icon>menu</mat-icon>
  </button>
  <img src="../../../assets/logo-pink.png" class="logo" alt="logo">
</mat-toolbar>

<app-side-nav [openedStatus]="openFlag" />

header-component.ts

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-header-component',
  templateUrl: './header-component.component.html',
  styleUrl: './header-component.component.scss'
})
export class HeaderComponent implements OnInit {
  // 用来控制侧边栏展开状态的变量
  openFlag: boolean = false;

  constructor() { }

  ngOnInit(): void {
  }

  // 点击按钮切换openFlag的值
  openSideNav() {
    this.openFlag = !this.openFlag;
  }
}

(刚才贴的代码没写完,上面是我实际写的完整逻辑)

我的想法是点击工具栏的菜单按钮,通过切换openFlag的值,把这个状态传给子组件的openedStatus输入属性,从而控制侧边导航的展开和收起,但现在点击按钮后完全没效果,侧边栏纹丝不动,也没看到控制台报错。

是不是子组件那边没正确接收这个输入属性并绑定到mat-sidenav的opened属性上?如果需要我贴sidenav-component的代码,我马上补上!麻烦各位帮我排查下问题,谢谢啦!

备注:内容来源于stack exchange,提问作者Adrian Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:17:59