javascript - 如何使用基于来自单独组件的 bool 值的 ngif 隐藏/显示组件

标签 javascript angular angular-ng-if

当用户单击子组件中的按钮时,我尝试显示/隐藏父组件中的元素。我不确定我是否做错了什么或者我的方法完全错误

父组件

<div *ngIf="show">Hello World</div>
<div *ngIf="!show">Goodbye World</div>

子组件

<button (click)="showHello()">
 <i class="fas fa-plus"></i>
</button>

子组件.ts文件

show: boolean = false;

showHello() {
    this.show = !this.show;
    console.log('show', this.show);
 }

最佳答案

父级:

<hello #hello></hello>
<p>
  {{hello.show}}
</p>

child :

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

@Component({
  selector: 'hello',
  template: `<button (click)="showHello()">
              Show
              </button>`,
  styles: [`h1 { font-family: Lato; }`]
})
export class HelloComponent  {
  show: boolean = false;

  showHello() {
      this.show = !this.show;
      console.log('show', this.show);
  }
}

Live demo

关于javascript - 如何使用基于来自单独组件的 bool 值的 ngif 隐藏/显示组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55731553/

相关文章:

javascript - JavaScript 中的冒泡排序

javascript - 将 git 分支列表存储在变量中

javascript - 无法读取未定义的 angular2 的属性 'version'

javascript - angularjs ng-switch-when 输入字段的值

javascript - 条形太短,不再可见

javascript - jquery 两个元素

javascript - 如何使用动态表单控件名称修补表单值

Angular ViewEncapsulation.ShadowDOM 不会隔离 css 样式

javascript - 是否可以使用相同的变量使 ng-if 表现得像 ng-show/ng-hide ?

angular - ngIf - else 与两个 ngIf 条件