테마 컴포넌트 내 스크립트는 한 번만 실행됩니다. 라우트가 변경될 때(전체 페이지 새로고침이 아닌 경우) 이를 다시 실행하려면 어떻게 해야 하나요?
예를 들어, 태그 간 이동 후에도 해당 컴포넌트의 스크립트가 실행되기를 원합니다.
테마 컴포넌트 내 스크립트는 한 번만 실행됩니다. 라우트가 변경될 때(전체 페이지 새로고침이 아닌 경우) 이를 다시 실행하려면 어떻게 해야 하나요?
예를 들어, 태그 간 이동 후에도 해당 컴포넌트의 스크립트가 실행되기를 원합니다.
<script type="text/discourse-plugin" version="0.8">
api.onPageChange(() => {
// your code
});
</script>
테마 컴포넌트를 만드는 경우, 이 코드를 어디에 넣어야 하나요? 현재 제 코드는 다음과 같습니다. 라우트가 변경될 때마다 푸터를 다시 렌더링하여 스크립트가 다시 실행되도록 하려고 합니다.
이상한 오류가 발생하고 있습니다.
저는 완전한 초보라서 이것이 올바른 방법인지 모르겠습니다.
initialize() {
withPluginApi("0.8", api => {
if (settings.Show_footer_on_login_required_page) {
api.modifyClass("controller:static", {
@on("init")
showFooterOnStatic() {
this.set("application.showFooter", true);
}
});
api.onPageChange(() => {
showFooterOnStatic() {
this.set("application.showFooter", true);
}
});
}
});
유사한 #customization:theme-component의 기존 자료/작업/코드를 살펴보고 어떻게 접근해야 할지 아이디어를 얻어보셨나요?
몇 가지를 살펴봤는데, 제가 하려는 일을 할 수 있는 기능이 없는 것 같아요. 다른 테마-컴포넌트를 더 찾아봐야겠어요.