【问题标题】:Best way of AEM 6.1 inter-component communicationAEM 6.1 组件间通信的最佳方式
【发布时间】:2016-01-25 09:44:53
【问题描述】:

有多种方法可以从一个组件获取数据并填充到另一个组件。通过 SlingServlet 等。

但是,哪种方式是开销较小的最佳方式。

【问题讨论】:

    标签: content-management-system aem


    【解决方案1】:

    如果您知道基于当前资源的一个所需资源的相对路径,您可以简单地使用 ResourceResolver 获取您需要的资源并获取它的 ValueMap 以从中获取您需要的任何属性:

    Resource targetResource= resourceResolver.get('../relative/path');
    ValueMap props= targetResource.getValueMap();
    String name= props.get("jcr:title",String.class);
    

    如果您使用的是 Sling 模型,这可能特别简单,因为您可以直接将资源作为 ValueMap 注入,see this

    如果您不知道资源的路径,您可以通过查询来查找它,或者在前端使用 Javascript 进行查找。

    【讨论】:

      【解决方案2】:

      您可以使用Sightly Templates 概念将参数从一个组件传递到另一个组件。

      另一种解决方案是:组件1在请求对象中设置值,组件2从请求中读取值并从请求中删除值。

      【讨论】:

      • 我们可以使用 angular 吗?
      猜你喜欢
      • 1970-01-01
      • 2017-02-19
      • 2017-11-20
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      相关资源
      最近更新 更多