vue中v-if与v-show同时使用

在前端开发中遇到性能问题,使用Echarts创建多个动态加载图表导致浏览器卡顿。尝试使用v-if和v-show控制组件渲染,发现v-if切换会丢失数据,而v-show则会导致所有图表同时加载。解决方案是结合使用v-if和v-show,先通过v-if避免一次性渲染所有图表,然后利用v-show控制显示隐藏,关闭时只改变v-show状态,保留数据。此方法有效解决了图表渲染的性能和数据保留问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在工作中努力写bug的时候发现一个问题,由于用echarts写了八九个图表,还是计时器动态加载X轴和数据的那种,可想而知浏览器卡到爆炸,于是使用v-if控制组件图表的渲染,发现又出问题:关闭组件再次打开之后,图表数据会重新渲染,前面的数据将丢失。

于是改用v-show,又发现出了问题:又回到了前面八九个图表一起加载卡到飞起的问题,还会影响到其他的页面。

查了好多网上的资料,发现标题写得好好的,写着写着就写成了v-for和v-if/v-show的并存关系。

想到一个点子记录一下:v-show和v-if一同使用,

例:v-show=“demo” v-if="test"

demo和test定义时都是false,启动组件时同时改写成ture,然后关闭组件时再更改v-show的显隐,之后就都控制v-show的显隐就成了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值