仅限服务器端渲染的`<server-only>`标签
P粉463811100
P粉463811100 2023-08-29 20:30:07
[Vue.js讨论组]

我有一些代码只需要在客户端渲染,因此我将它包裹在<client-only>标签中。

然而,为了防止内容跳动,我尝试只在服务器端渲染元素,使用了以下代码:

<div v-if="$isServer" class="h-nonav bg-gray-500" />

这样确实可以工作,但Vue会抱怨服务器端的HTML与客户端的不一致。

这样做虽然有效,但听起来有点hackish,并且会导致页面渲染两次:

<div v-if="ssr" class="h-nonav bg-gray-500" />
...
data() {
  return {
    ssr: true
  }
},
mounted() {
  this.ssr = false
},

尝试搜索文档,但没有找到标签 :(

P粉463811100
P粉463811100

全部回复(1)
P粉724737511

没关系,使用v-show代替v-if修复了它:

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

希望这将再次帮助我解决问题...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号