そうかもしれません…よくわかりません。bodyClassヘルパーを使用するだけで、どのコンポーネントテンプレートにもこのクラスを追加するのは比較的簡単です。たとえば、別のテーマでは次のようにしています。
<template>
{{bodyClass "custom-homepage"}}
...
</template>
これはonPageChangeフックと同じことを達成しますが、より信頼性が高くなります。コンポーネントがレンダリングされている間だけ、そのクラスがbodyに設定されます。
コンポーネントに必要なすべてのデータがすでにある場合、はい、アプリの残りの部分とともにレンダリングできない理由はありません。ただし、ほとんどの場合、コンポーネントは追加データを取得するためにリクエストを行う必要があり、それがローディングインジケーターをトリガーします。正直なところ、それをより速くロードする方法は思いつきません。
せっかくなので、この機能にさらに改善を加えました。ごく最近まで、カスタムホームページのクローラービューはカスタマイズできませんでした。現在は、サーバーサイドのHTMLアウトレットを介してカスタマイズできます。DEV: Fix custom homepage crawler display and override by pmusaraj · Pull Request #31841 · discourse/discourse · GitHub