如何解决在子组件中发出函数后,从父函数获取返回值
我有儿童部分:
fixedheader.html
<button type="button" [hidden]="hideComponent()">
Close
</button>
我想根据父组件中函数的返回值将其隐藏。
fixedheader.ts
@Output() ComponentHidden: EventEmitter<any> = new EventEmitter();
hideComponent() {
this.ComponentHidden.emit();
}
parent.html
<app-fixedheader [currentPage]="'SaleEdit'" [menuTitle]="viewTitle" [validForSave]="validForSave" (ComponentHidden)="ComponentHidden('salesEditComponentRef2')">
</app-fixedheader>
parent.ts
ComponentHidden(id: string): boolean {
let component = this.componentsReferences.find(i => i.viewId == id);
return (component === undefined ? true : false);
}
因此,在这里我需要如何将父级的返回值转换为子级,并且应该基于该值将其隐藏。
我在这里错过了什么吗?
解决方法
如果您希望子组件被父组件隐藏,则父组件必须为此设置一个标志。 像这样:
fixedheader.html
<button type="button" [hidden]="isHide">
Close
</button>
fixedheader.ts
@Input() isHide : boolean;
parent.html
<app-fixedheader [currentPage]="'SaleEdit'" [menuTitle]="viewTitle" [validForSave]="validForSave" [isHide]="ComponentHidden('salesEditComponentRef2')">
</app-fixedheader>
parent.ts
ComponentHidden(id: string): boolean {
let component = this.componentsReferences.find(i => i.viewId == id);
return (component === undefined ? true : false);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。