在这里,我希望使用冒泡技术中的customEvent将事件中绑定的一些数据从一个组件发送到另一个组件。所以我已经处理了在我需要帮助的地方不起作用的代码
单组分数据:
visibilityGrouping($event, data) {
var elementData = [];
if (data && data != null) {
if (data.childRecords && data.childRecords.length) {
data.childRecords.forEach(element => {
if (element.childRecords && element.childRecords.length) {
element.childRecords.forEach(child => {
elementData.push({ eID: child.elementID })
});
}
else {
elementData.push({ eID: element.elementID })
}
});
}
else {
// console.log(data.elementID);
elementData.push({ eID: data.elementID })
}
document.dispatchEvent(new CustomEvent('groupingElementIDs', { "detail": elementData }));
console.log("elementData")
console.log(elementData);
}
}
另一个组件数据:
that.eventHandler = that.viewer._eventHandler;
that.groupingSubscription = new FromCustomEvent(document, 'grouping')
.subscribe((e: any) => {
document.addEventListener("groupingElementIDs", (e) => {
console.log("event");
console.log(e);
})
document.dispatchEvent(selectionFired);
});
有很多方法可以做到这一点。请参阅角度组件交互以选择适合您的方法。
https://angular.io/guide/component-interaction