如何在自定义组件的 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 元素属性中。
我正在 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 元素属性中。