尝试通过 OUTPUT 发出 INPUT 值,但它不会更改标志状态

tried to emit the INPUT value through OUTPUT but, it doesn't change the flag state

我的代码分为 2 个部分: 家长:

  openLibraryMenu() {
    this.libraryMenuOpen = true;
    }
<section>
Hello Test
<button (click)="openLibraryMenu()">parentButton</button>
</section>

<app-library-section [libraryMenuOpen]="libraryMenuOpen" (hamburgerChecked)='libraryMenuClose($event)'>
</app-library-section>

子组件:

  @Input() libraryMenuOpen: boolean = false;
  @Output() hamburgerChecked = new EventEmitter<boolean>();
  
   minimizeMenu() {
    this.libraryMenuOpen = false;
    this.hamburgerChecked.emit(this.libraryMenuOpen);
  }
<nav class="libraryMenuNav" *ngIf="libraryMenuOpen">
Body to be rendered
<button (click)="minimizeMenu()">childButton</button>
</nav>

当点击 parentButton 时,libraryMenuOpen returns true 并打开子项中的块。在 child 中,当单击 childButton 时,它 returns false 并关闭该块。但是,当我再次单击 parentButton 时,它在父组件中 returns 为 true 但不会打开子块。 我想保持简单,这就是为什么我没有发布所有代码的原因。谁能帮我这个。提前致谢。如果需要更多数据,请告诉我。

尝试在您的根组件中仅使用一个标志来显示或隐藏子组件。您的子组件仅发出关闭事件,而您的根组件仅更新标志。

<app-library-section *ngIf="libraryMenuOpen" (hamburgerChecked)="libraryMenuOpen = false">
</app-library-section>