2017-11-17 1 views
0

사이드 바 탐색처럼 작동하는 반 사용자 정의 목록 구성 요소를 만들고 있습니다. 현재 페이지에 대한 링크인지 여부에 따라 활성 항목을 목록 항목에 추가하려고합니다. 나는 currentPage.title을 html로, currentPage.getTitle()을 JSP로 참조하는 방법을 알고있다.사용자 정의 구성 요소의 js 파일에서 currentPage title 속성을 어떻게 참조합니까?

구성 요소의 별도 clientlibs js 파일에서 currentPage title 속성을 쉽게 참조 할 수 없습니까?

모든 페이지가 참조 할 제목 태그 또는 엄격한 html 요소를 가지고있는 것은 아니므로 해당 경로를 떠나기 전에 aem 속성을 사용하고 싶습니다.

+0

백엔드보다 프론트 엔드 솔루션을 선호합니다. https://css-tricks.com/snippets/jquery/add-active-navigation-class-based-on-url /. 그러나 서버 측 경로로 이동하려면 예 또는 페이지 경로를 사용하여 올바르게 작동합니다. –

답변

1

Clientlibs에는 브라우저에서 실행되는 js 코드가 들어 있으므로 jsp/htl 실행 중에 서버에서만 사용할 수있는 currentPage와 같은 객체에는 액세스 할 수 없습니다.

이를 달성하는 한 가지 방법은 HTL의 html 요소 속성에 해당 값을 넣은 다음 나중에 js에 액세스하는 것입니다.

DOM 요소 속성의

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

sightly-과는 js-

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

에 액세스하는 당신은 대신 자바 스크립트 객체에서 이러한 넣을 수 있습니다.

관련 문제