我在AEM中创建了一个半自定义列表组件,就像侧边栏导航一样。我想将一个活动类添加到列表项,具体取决于它是否是当前页面的链接。我知道如何在html中引用currentPage.title
和在JSP中引用currentPage.getTitle()
。
我是否错过了在组件的单独clientlibs js文件中引用currentPage
title属性的简单方法?
并非每个页面都有标题标签或严格的html元素可供参考,因此我希望在沿着这条路线前使用aem属性。
答案 0 :(得分:1)
Clientlibs包含在浏览器上执行的js代码,因此您无法访问在jsp / htl执行期间仅在服务器上可用的对象(如currentPage)。
实现这一目标的一种方法是将这些值放在HTL中的html元素属性中,然后在js中访问它们。
e.g。酣畅淋漓 -
.col {
overflow:scroll;
}
并在js中访问它 -
<div id="titleHolder" data-page-title="${currentPage.title}">
您也可以将它们放在JavaScript对象中而不是dom元素属性中。