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

用户13586275

我的代码包含 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 返回 true 并在 child 中打开块。在 child 中,当单击 childButton 时,它返回 false 并关闭块。但是,当我再次单击 parentButton 时,它在父组件中返回 true 但不会打开子块。我想保持简单,这就是为什么我不发布所有代码。谁能帮我这个。提前致谢。如果需要更多数据,请告诉我。

艾伦·格罗兹

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我试图改变一个 git 配置,但它不会改变。相反,它显示了两个设置?!乐

试图改变变量值,但它永远不会改变

input()函数未发出请求

试图发出命令,通过反应来分配角色。- 不和谐.js

通过twiml发出挂断后,twilio将不会挂断

@Output从指令向父组件Angular 4发出值

Subject 发出后如何发出延迟值?

通过jsfiddle发出JSON请求

试图通过 jQuery getJSON jsonp 读取远程 URL 但它不起作用

试图通过类名更改动态div的内部元素,但它不起作用

生成 Observable 发出的值

通过指针传递对象并对其进行修改不会改变对象的状态

Shell执行期间无法通过socket.io发出当前服务器状态

RxJs可观察-通过发出默认值来处理404

QByteArray 通过 QueuedConnection 按值发出和连接并附加到竞争条件?

如何通过发出原子设计模式从vuetify select获得更改的值?

通过输入任何值,错误的输出不会改变。(尝试,捕捉,最后)

试图通过获取childnode的值来获取nodeList

试图了解Socket.IO-套接字并发出

catchError之后的switchMap不会发出值

CombineLatest不会发出最新值

从后台任务发出flask-socketio不会发出

如何通过AFnetworking发出发布请求?

通过curl发出Github GraphQL请求

通过SSH发出声音通知

Junit仍通过测试时发出警告

如何通过Nginx发出分块请求

对发出的LLVM IR执行哪些LLVM通过?

如何通过复杂的对象发出GET请求?