サーバー側レンダリングのみの `<server-only>` タグ
P粉463811100
2023-08-29 20:30:07
<p>クライアント側でのみレンダリングする必要があるコードがいくつかあるので、それを <code><client-only></code> タグで囲みます。 </p>
<p>ただし、コンテンツのバウンスを防ぐために、次のコードを使用して、サーバー側でのみ要素をレンダリングしてみました。
<pre class="brush:php;toolbar:false;"><div v-if="$isServer" class="h-nonav bg-gray-500" /></pre>
<p>これは機能しますが、Vue はサーバー側の HTML がクライアント側の HTML と矛盾していると警告します。 </p>
<p>これは機能しますが、少しハックっぽく聞こえるため、ページが 2 回レンダリングされます: </p>
<pre class="brush:php;toolbar:false;"><div v-if="ssr" class="h-nonav bg-gray-500" />
...
データ() {
戻る {
SSR:真
}
}、
マウントされた() {
this.ssr = false
},</pre>
<p>ドキュメントを検索しようとしましたが、<code><server-only></code> タグが見つかりませんでした:(</p>
気にしないでください。
リーリーv-if
の代わりにv-show
を使用すると問題が解決しました:これがまた役立つことを願っています...