尝试通过 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>
我的代码分为 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>