使用 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);
            });

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

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

最新更新