【Debug】v-if的节点加了class导致了数据不能加载

v-if的作用:创建与销毁。会根据v-if的布尔值来判断要创建还是销毁。

class类名:一般是用来添加样式

 

在使用vue框架时,v-if和class类名难免会混用在一起。

区别是:

如果v-if的节点上没有class类名的话,v-if在刚开始是不会渲染的。在执行的过程中,会判断v-if的布尔值,如果是true则渲染节点。

如果v-if的节点上有class类名的话,v-if在刚开始就会渲染一次,然后在执行的过程中,会判断v-if的布尔值,如果是true则再次渲染节点。一共会渲染2次

 

多渲染一次也没什么不好。

 

但正好,我有一个子组件,里面的watch里使用了nextTick一次性定时器,在定时器里面进行了赋值。结果二次赋值失败了,因为v-if渲染了2次,但nextTick只赋值了1次。

这才导致了奇怪的bug:

加了class会导致数据不能加载,不加class就一切正常。

 

 

留此笔记

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值