僅限伺服器端渲染的`<server-only>`標籤
P粉463811100
P粉463811100 2023-08-29 20:30:07
0
1
501
<p>我有一些程式碼只需要在客戶端渲染,因此我將它包裹在<code><client-only></code>標籤中。 </p> <p>然而,為了防止內容跳動,我嘗試只在伺服器端渲染元素,使用了以下程式碼:</p> <pre class="brush:php;toolbar:false;"><div v-if="$isServer" class="h-nonav bg-gray-500" /></pre> <p>這樣確實可以運作,但Vue會抱怨伺服器端的HTML與客戶端的不一致。 </p> <p>這樣做雖然有效,但聽起來有點hackish,並且會導致頁面渲染兩次:</p> <pre class="brush:php;toolbar:false;"><div v-if="ssr" class="h-nonav bg-gray-500" /> … data() { return { ssr: true } }, mounted() { this.ssr = false },</pre> <p>嘗試搜尋文檔,但沒有找到<code><server-only></code>標籤 :(</p>
P粉463811100
P粉463811100

全部回覆(1)
P粉724737511

沒關係,使用v-show代替v-if修復了它:

<div v-show="$isServer" />

希望這能再次幫助我解決問題...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板