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

What is the difference between data-sly-use, data-sly-resource, data-sly-include, and data-sly-template?

data-sly-usedata-sly-resourcedata-sly-includedata-sly-template 之间有什么区别?我正在阅读 Sightly AEM 上的文档,我非常困惑。

据我所知:

而且,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>

正如您所说:

  • 巧妙地使用数据 "is used to add js/java"。例如,您使用此语句声明组件 beans。
  • data-sly-resource 您可以覆盖包含文件的资源类型。
  • data-sly-include 顾名思义包括其他 html 文件。
  • data-sly-template 你声明模板,稍后可以 'called' 与 data-sly-call.

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

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

  • data-sly-use - 与@chrysler 引用的相同。
  • data-sly-include vs data-sly-resource - data-sly-resource 针对 sling 引擎创建一个新的内部请求,其中 data-sly-include 看起来对于指定的 script/servlet 并执行它,使用相同的请求上下文,即相同的当前资源。

来自文档 - https://helpx.adobe.com/experience-manager/htl/using/block-statements.html - data-sly-include:用指定的 HTML 模板文件(HTL、JSP、ESP 等)生成的标记替换宿主元素的内容当它被相应的模板引擎处理时。包含文件的渲染上下文将不包含当前的 HTL 上下文(包含文件的);

答案与 v6.3 相关。