【发布时间】:2022-02-13 04:35:28
【问题描述】:
如前所述,我想在子组件中单击按钮时隐藏父组件。全部大写字母的注释显示了我尝试实现此功能的位置。任何帮助将不胜感激。
子组件.ts
export class CardComponent implements OnInit {
//Event variable to display this cards details
@Input()
singleevent!:myevent;
//SENDING BOOLEAN EVENT TO PARENT COMPONENT
@Output()
onRemoveClick!:EventEmitter<boolean>;
constructor() { }
ngOnInit(): void {
//Initialize event to get from service layer
}
//FUNCTION FOR EVENT EMITTER TO EMIT BOOLEAN VALUE
removeClick(){
this.onRemoveClick.emit(true);
}
}
子组件.html
<div class="card text-center" style="width: 18rem;">
<div class="card-header card-title">
<!-- HERE IS THE BUTTON WITH THE REMOVE CLICK FUNCTION ATTATCHED -->
<button type="button" class="btn-close" aria-label="Close" (click)="removeClick()"></button>
<h3>{{singleevent.name}}</h3></div>
<div class="card-body">
<h5 class="card-text">Date: {{singleevent.date | date : 'shortDate' }}</h5>
<h5 class="card-time"> Start time: {{singleevent.startTime}}</h5>
<h5 *ngIf="singleevent.endTime !== null">{{singleevent.endTime}}</h5>
</div>
父.ts
export class CardlistComponent implements OnInit {
//events variable will be set to event service get request
events:myevent[] = EVENTS;
eventlist!:myevent[]
constructor() { }
ngOnInit(): void {
}
//FUNCITON I MAY NEED TO CALL IN PARENT HTML
remove(value:boolean){
if(value)
return true;
return false;
}
}
parent.html 这是我很困惑的地方,我如何调用 [hidden] 属性或使用我的输出来隐藏我正在渲染的子组件。
<app-button (click) = "toggleEvent()" text="Add New Event" color="dodgerBlue"></app-button>
<div class="container" [hidden]="!toggleNewEvent">
<app-newcard></app-newcard>
</div>
<div class = "container">
<div class = "row" >
<div class = "col-sm" *ngFor="let thisevent of events">
//THIS IS THE EVENT I WANT TO HIDE WHEN THE BUTTON IN THIS CHILD IS CLICKED
<app-card [singleevent]="thisevent"></app-card>
</div>
</div>
</div>
【问题讨论】:
标签: html angular typescript