首页 > 解决方案 > 使用 customEvent 将 JSON 数据列表从一个组件发送到另一个组件

问题描述

在这里,我希望使用冒泡技术中的 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);

            });

标签: jqueryangular5

解决方案


有很多方法可以做到这一点。请参阅Angular 组件交互以选择适合您的方法。

https://angular.io/guide/component-interaction


推荐阅读