vue3-v-memo指令解决组件显隐时影响其它组件

页面上添加了滚动监听某个组件的显隐,假如这个组件叫A:

而同页面中,其它组件上使用了动态绑定ref,并且动态获取,假如这些组件叫Bs:

那么在滚动页面的时候,A组件的显示隐藏会引起Bs组件ref的重复动态获取:

解决办法:

使用 vue3的指令 v-memo。关于v-memo。官网的描述是:

【缓存一个模板的子树。在元素和组件上都可以使用。为了实现缓存,该指令需要传入一个固定长度的依赖值数组进行比较。如果数组里的每个值都与最后一次的渲染相同,那么整个子树的更新将被跳过。】

具体详情看官网内置指令 | Vue.js

很清晰了,在外层加上v-memo,这样即使页面滚动,mainPart没有变化,那么使用了mainPart这个对象的组件,会被缓存,不会更新,也就不会被重复获取。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值