如何使用基于boolean的ngif从单独的组件隐藏/显示组件

时间:2019-04-17 15:50:25

标签: 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);
 }

1 个答案:

答案 0 :(得分:1)

父母:

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

孩子:

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