如何在自定义组件的 js 文件中引用当前页面标题 属性?

How do i reference the currentPage title property in a custom component's js file?

我正在 AEM 中制作一个 semi-custom 列表组件,其作用类似于边栏导航。我想将活动的 class 添加到列表项,具体取决于它是否是当前页面的 link。我知道如何在 html 中引用 currentPage.title 和在 JSP 中引用 currentPage.getTitle()

我是否缺少一种在组件的单​​独 clientlibs js 文件中引用 currentPage 标题 属性 的简单方法?

并非每个页面都有标题标签或严格的 html 元素供参考,因此我想在使用该方法之前使用 aem 属性。

Clientlibs 包含在浏览器上执行的 js 代码,因此您无法在 jsp/htl 执行期间访问仅在服务器上可用的 currentPage 等对象。

实现这一点的一种方法是将这些值放在 HTL 的 html 元素属性中,然后在 js 中访问它们。

例如一眼看去-

<div id="titleHolder" data-page-title="${currentPage.title}">

并在 js 中访问它-

var pageTitle = $("#titleHolder").data("page-title");

您也可以将它们放在 JavaScript 对象中而不是 dom 元素属性中。