效果描述:当屏幕缩小 小于768px时,聊天框先隐藏,点击交谈按钮 显示聊天框 点击关闭按钮 关闭聊天框
父组件代码:
父组件绑定事件:
<li class="list-group-item">
<button class="btn btn-block btn-primary" *ngIf="show" (voted)="onVoted($event)">交谈</button>
</li>
父组件类文件中的声明和方法:
show = true;
onVoted(agreed: boolean) {
this.show = agreed;
}
子组件代码:
子组件绑定事件:
<button class="btn btn-primary" (click)="vote()">关闭</button>
子组件类文件中的方法:
@Output() voted = new EventEmitter<boolean>();
vote() {
this.voted.emit(false);
}
父组件控制子组件的关闭隐藏,你必须要给子组件绑定一个父组件控制的变量。
你这里<button>标签是子组件,这是明显不对的。你的子组件明显是应该是下面那个聊天组件吧。
父组件
当然你用*ngIf也行,只是看你的业务,[style.display]可能更适合你
建议多看一下文档组件交互