【发布时间】:2017-07-26 09:37:00
【问题描述】:
嗨 Angular 社区,
我想使用@Output 触发一个事件来隐藏或打开/关闭包含其他组件的 div。这很简单,但我以前从未使用过 EventEmitter,所以我希望当 hideDem 被称为隐藏或打开/关闭 div,具体取决于来自 child.ts 的其他属性
child.html:
<img type="button" label="Click" (click)="hideDem()" id="foldup" src="./assets/img/fold_up_blacksmall.png"/>
child.comp.ts:
@Output() open: EventEmitter<any> = new EventEmitter();
@Output() close: EventEmitter<any> = new EventEmitter();
public hideDem(): void {
this.hideMePartially = !this.hideMePartially;
if (this.hideMePartially) {
this.open.emit(true);
} else {
this.close.emit(false);
}
}
parent.comp.html
<div class="daydetail">
<div><my-daydetail [showMePartially]="showVar" ></my-daydetail></div>
<div [hidden]="(close)=hideDem($event)">
<div>
<app-pie-chart [minifiedMe]="hideMeup" ></app-pie-chart>
</div>
<div>
<app-fonctionnaly [minifiedMe]="hideMeup"></app-fonctionnaly>
</div>
<div>
<app-my-verticalchart [minifiedMe]="hideMeup" ></app-my-verticalchart>
</div>
<div>
<app-dysfonction [showMePartially]="hideVar"></app-dysfonction>
</div>
</div> <!-- End of hidden-->
</div> <!-- End of daydetail-->
【问题讨论】: