data-sly-use、data-sly-resource、data-sly-include和data-sly-template之间有什么区别?

21

什么是 data-sly-usedata-sly-resourcedata-sly-includedata-sly-template 的区别?我正在阅读关于 Sightly AEM 的文档,但感到非常困惑。

就我所知:

  • data-sly-use 用于将 js/java 文件添加到文档以进行渲染
  • data-sly-resource 用于注入组件
  • data-sly-include 用于包含其他 HTML 文件 (?***?)

data-sly-template 则令人困惑,就像:

<div data-sly-use.nav="navigation.js">${nav.foo}</div>
<section data-sly-include="path/to/template.html"></section>
<template data-sly-template.one>blah</template>
<div data-sly-call="${one}"></div>
2个回答

19

正如你已经说的:

  • data-sly-use "用于添加js/java"。例如,你可以使用此语句声明组件-bean。
  • data-sly-resource 可以覆盖包含文件的资源类型。
  • data-sly-include 包含其他HTML文件,如名称所示。
  • data-sly-template 你可以声明模板,稍后可以使用 data-sly-call "调用" 它们。

请参考官方规范获取更多信息。每个标签都有几个示例:

https://github.com/Adobe-Marketing-Cloud/sightly-spec/blob/master/SPECIFICATION.md


2
我仍然觉得这是一个非常简短的解释。需要更多的例子来进行澄清。 - Oliver
data-sly-use can be used with a resource path too, e.g. you can do <sly data-sly-use.parsys=${resource.path}/parsys> for example in order to loop over children with data-sly-list=${parsys.listChildren} - ccpizza

4
  • data-sly-use - 与@chrysler引用的相同。
  • data-sly-include vs data-sly-resource - data-sly-resource会创建一个新的内部请求,针对Sling引擎进行处理,而data-sly-include会查找指定的脚本/Servlet并执行它,使用相同的请求上下文,即相同的当前资源。

根据文档data-sly-include将使用其对应的模板引擎生成的标记替换托管元素的内容。包含文件的呈现上下文不会包括当前HTL上下文(即包含文件的上下文);

该答案适用于v6.3。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接