AEM-如何将数据传递到组件

昂斯

通常,AEM组件是从JCR节点检索其数据,但我想知道是否有可能在HTL中将数据传递给它。当然可以,data-sly-resource但是据我所知,您只能传递一个JCR节点。

因此,在实际情况下,我已经在从其他地方检索到的模型中获得了数据。但是我想使用现有的组件。我知道数据必须至少与组件类型的模型匹配。

但是,如果我要使用的组件是使用注入了数据的模型,该怎么办?

@Inject
@Optional
String[] itemList;

所以在我的顽固思想中,应该可以通过某种方式传递字符串数组

<div data-sly-resource="${myModel.aStringArray @ resourceType='my/component' }"></div>

但是如上所述,这似乎仅用于传递节点。

有什么方法可以完成将数据直接传递到组件的操作(除了创建模板之外)?

Sharath Madappa

您可以以请求属性或选择器的形式传递其他信息

选择器

选择器是传递简单信息的最直接方法。这是可以传递的字符串数组。这对于可用作标志的数据非常有用,例如:

  • 组件的变体/模式
  • 列表中组件的索引(如果包含在循环中)。
  • 制作手风琴,制表符之类的父母的ID

这种方法滥用了选择器,但是恕我直言,只要您知道自己在做什么,就不必担心。

<article data-sly-resource="${'path/to/resource' @ selectors=['s1', 's2']}"></article>

您可以在添加组件时添加,替换或删除选择器。查看文档中的语法。https://docs.adobe.com/content/help/zh-CN/experience-manager-htl/using/htl/block-statements.html#resource

请求属性

此选项允许您将自定义请求属性添加到组件请求。当包含对象时,这可以用于将对象作为参数传递给组件。

这些是标准的http请求属性,可以说服它们将其范围限定为脚本/资源包含的特定实例。要使用它,您最终将需要一个模型类或use-js,因为几乎没有支持组合要直观传递的数据。

<sly data-sly-use.settings="com.adobe.examples.htl.core.hashmap.Settings" 
        data-sly-include="${ 'productdetails.html' @ requestAttributes=settings.settings}" />

https://docs.adobe.com/content/help/zh-CN/experience-manager-htl/using/htl/block-statements.html#request-attributes

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将数据传递到Vuestrap模式组件

来自分类Dev

AEM:如何将当前页面路径从jsp传递到对话框

来自分类Dev

如何将数据传递给组件到另一个组件

来自分类Dev

在将动作分派给Vuex之后如何将数据传递到组件?

来自分类Dev

限制AEM 5.6.1中的组件

来自分类Dev

防止组件重新加载 - AEM

来自分类Dev

如何将数据传递给正在重用的组件?

来自分类Dev

如何将对Java文件的更改部署到AEM?

来自分类Dev

如何将对Java文件的更改部署到AEM?

来自分类Dev

如何将数据传递到导航抽屉项?

来自分类Dev

如何将iframe数据传递到父窗口

来自分类Dev

如何将JSON数据传递到AngularJS指令

来自分类Dev

如何将json数据传递到highcharts系列?

来自分类Dev

如何将数据传递到Signalr集线器类

来自分类Dev

如何将数据传递到视图Rails

来自分类Dev

如何将数据传递到ng-Container

来自分类Dev

如何将表格数据传递到GAS

来自分类Dev

如何将图像数据传递到img标签?

来自分类Dev

如何将数据传递到customView?

来自分类Dev

如何将数据传递到嵌套布局

来自分类Dev

如何将数据传递到fancybox函数?

来自分类Dev

如何将JSON数据传递到.js文件

来自分类Dev

如何将iframe数据传递到父窗口

来自分类Dev

AEM 6.x:如何将 HTL 变量传递给 clientlib/JS?

来自分类Dev

如何将 AEM 标签导出到 Excel

来自分类Dev

AngularJS +1.5父控制器如何将数据传递到组件控制器

来自分类Dev

如何将表单组数据传递到另一个组件中的“提交”按钮(Angular 7)

来自分类Dev

AEM中缺少服务组件

来自分类Dev

AEM控制台中的组件未激活