javascript - 如何在一个函数中调用多个 eventType?
问题描述
我在我的服务中编写了以下函数:
public refresh(area: string) {
this.eventEmitter.emit({ area });
}
area
访问我所有的孩子,并应通过单击在父母中更新它们。
// 在孩子们
this.myService.eventEmitter.subscribe((data) => {
if (!this.isLoading && data.area === 'childFirst') {
this.loadData();
}
});
this.myService.eventEmitter.subscribe((data) => {
if (!this.isLoading && data.area === 'childSecond') {
this.loadData();
}
});
this.myService.eventEmitter.subscribe((data) => {
if (!this.isLoading && data.area === 'childThird') {
this.loadData();
}
});
// 我的父组件
// TS
showChildFirst() {
this.navService.sendNavEventUpdate('childFirst');
}
showChildSecond() {
this.navService.sendNavEventUpdate('childSecond');
}
showChildThird() {
this.navService.sendNavEventUpdate('childThird');
}
public refresh(area: string) {
this.myService.refresh(area);
}
// HTML
<!-- Refresh your childs -->
<button type="button" (click)="refresh()">Refresh</button>
如果我在函数中插入以下内容:refresh('childFirst')
第一个子组件被更新。有没有办法在刷新时刷新所有事件类型?
解决方案
您可以更改“刷新”方法以获取字符串数组而不是单个字符串。所以方法会变成
public refresh(areas: string[]) {
areas.forEach(area =>
this.myService.refresh(area);
)
}
并称它为
<button type="button" (click)="refresh(['childFirst','childSecond','childThird'])">Refresh</button>
推荐阅读
- here-api - HERE Places (Search) API - 类别系统文档和 API 响应之间的差异
- javascript - 如何将图像和数组与本机反应一起发布到后端?
- angular - 了解使用 Angular 制作的 Web 应用程序的性能
- node.js - 在邮递员“null”中发出删除请求后得到这样的响应?
- python - BLE 数据在 Python 中转换为 Bytearray
- reactjs - 即使没有剩余空间,Froala 工具栏弹出窗口也会出现在底部
- android - 在存储库类中使用 dagger-hilt
- scheduled-tasks - 如何创建一个 Teamcity 构建触发器,该触发器将在作业 A 完成后每周运行一次作业 B,其中 A 每天运行
- autodesk-forge - Autodesk Forge 查看器:直接加载 SVF?
- twitter-bootstrap-3 - 如何从 Fullcalendar 中删除 fc-time?