v-loading=“loading“与v-if不要同时用

在 Vue 中,v-loading 是一个自定义指令,它可以用于在数据加载的过程中显示一个 loading 状态。和 v-if 指令不同的是,v-loading 指令并不会影响组件或元素的显示或隐藏,而是用来控制 loading 状态的显示或隐藏。

因此,如果你同时使用 v-loading 和 v-if 指令,会导致两个指令互相干扰,从而出现意想不到的结果。

例如,如果你在一个组件中使用了 v-if 指令来控制组件的显示和隐藏,并且在该组件中使用了 v-loading 指令来控制加载状态的显示和隐藏,那么在组件需要重新渲染时,v-if 指令会先将该组件从 DOM 中移除,然后再重新渲染该组件。这个过程会导致 v-loading 指令失效,从而出现 loading 状态无法正常显示的问题。

为了避免这种情况的发生,你应该尽量避免在同一个组件或元素上同时使用 v-loading 和 v-if 指令。如果你需要在组件中控制 loading 状态的显示和隐藏,可以考虑使用其他的方法,例如在组件中添加一个 loading 组件,或者使用父子组件之间的通信来实现。

//可以再嵌套一层div来写loading,如下:

<div v-loading="loading">
	<div v-if="list.length">
	</div>
</div>
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值