아마도… 확실하지 않습니다. 지금은 bodyClass 헬퍼만 사용하면 어떤 컴포넌트 템플릿에든 이 클래스를 추가하는 것이 비교적 쉽습니다. 예를 들어, 다른 테마에서는 이렇게 하고 있습니다:
<template>
{{bodyClass "custom-homepage"}}
...
</template>
이것은 onPageChange 훅과 동일한 효과를 내지만, 더 신뢰할 수 있습니다. 이 클래스는 해당 컴포넌트가 렌더링되는 동안에만 body에 설정됩니다.
컴포넌트가 이미 필요한 모든 데이터를 가지고 있다면, 네, 앱의 나머지 부분과 함께 렌더링되지 못할 이유가 없습니다. 하지만 대부분의 경우, 컴포넌트는 추가 데이터를 가져오기 위해 요청을 해야 하며, 이는 로딩 표시자를 트리거합니다. 솔직히 말하면, 이를 더 빠르게 로드하는 쉬운 방법을 떠올리지 못하겠습니다.
여기서 한 가지, 이 기능에 대한 추가적인 개선을 했습니다. 아주 최근까지 커스텀 홈페이지의 크롤러 뷰는 커스터마이징할 수 없었습니다. 하지만 이제는 서버 사이드 HTML 아웃렛을 통해 커스터마이징할 수 있습니다: DEV: Fix custom homepage crawler display and override - Pull Request #31841 - discourse/discourse - GitHub