vue项目遇到的坑之v-if和v-show的异同点

两者相同点:

  1. 都是动态的控制DOM元素。

两者不同点:

  1. 对控制组件而言,v-if的优先级是要大于v-show的优先级,所以在整个组件的渲染的时候需要使用v-if来动态的控制DOM元素的添加和删除,v-show只是同来css的display来控制元素的显示和隐藏
  2. v-if是有惰性的,只有当第一次的条件为真的时候才会开始编译
  3. 对于显示隐藏切换比较频繁可以使用v-show,这样可以降低消耗
  4. v-if和v-for尽量不要同时使用,因为v-for的优先级大于v-if,会先执行v-for后执行v-if,可以增加一个标签进行判断。
  5. 使用异步获取数据传递给子组件的时候,需要对属性进行一个判断,当存在数据的时候,刷新子组件,否则子组件不能及时响应数据。
  6. 在vue组件内如果需要操作DOM的时候,可以优先使用vue组件推荐的ref去绑定一个值,或者在mounted里面去获取对应的dom节点(因为dom节点在beforeMount已经渲染完成,所以在这个地方是可以获取到节点的)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值