如何在Parent Component中包含子组件时发送一些标志,以便选择合适的模板?

时间:2016-10-10 02:40:34

标签: aem sightly htl

我在Parent组件中包含5个子组件资源。我根据条件在我的子组件中使用(调用)两个稍微模板。有没有办法在包含子资源时添加一些标志,以便在渲染时调用适当的模板。

这是包含子组件的代码。

<div class="item one" data-sly-resource="${'item1' @ resourceType='example/core/components/CategoryItem'}" data-sly-unwrap></div>

1 个答案:

答案 0 :(得分:1)

您可以使用selectors指定要渲染资源的HTL / Sightly脚本。

假设您的组件结构如:

/apps/example/categoryitem
+- categoryitem.html
+- alternate.html

您可以通过在以下位置包含资源来调用这两个脚本中的任何一个:

data-sly-resource="${item1 @ resourceType='example/categoryitem'}"

调用默认脚本,或

data-sly-resource="${item1 @ resourceType='example/categoryitem', selectors='alternate'}"

调用备用脚本