我有以下代码:
<my-component (show)="$event"></my-component>
$event
属性是一个布尔值,我想用它来隐藏/显示这个组件。
如果不在课程中编写新代码,是否可以不渲染<my-component>
?也就是说,我最好只是在模板中有逻辑,而不是在类本身。
答案 0 :(得分:5)
只需听取一个事件并根据事件设置hidden
属性:
class MyComponent {
@HostBinding('hidden')
isHidden:boolean = false;
@HostListener('someevent')
someEventHandler(event) {
this.isHidden = event;
}
}
答案 1 :(得分:0)
您可以在MyComponent
中使用类成员并绑定隐藏属性,而不是使用事件:
<my-component #cmp [hidden]="cmp?.hidden"></my-component>
使用Plunker作为示例用法