美文网首页
vue使用v-if v-show 页面闪烁

vue使用v-if v-show 页面闪烁

作者: 上海老宅男 | 来源:发表于2020-11-17 17:29 被阅读0次

最近在写组件时遇到一个问题,视图需要根据接口返回的数据频繁的切换状态又使用v-if时候加载出来的试图时闪烁
我们来看一下 v-if 和 v-show 的区别和优先级

v-if 和 v-show 的区别

在切换 v-if 块时,Vue.js 有一个局部编译/卸载过程,因为 v-if 之中的模板也可能包括数据绑定或子组件。v-if 是真实的条件渲染,因为它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。

v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。

相比之下,v-show 简单得多——元素始终被编译并保留,只是简单地基于 CSS 切换。

简单来说二者最大的区别是v-if只会在满足条件时才会编译,而v-show不管是否满足条件始终会编译,v-show的显示与隐藏只是简单的切换CSS的display属性。

总结

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

此外,当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级,这意味着 v-if 将分别重复运行于每个 v-for 循环中,所以不推荐同时使用v-if 和 v-for。

相关文章

  • vue使用v-if v-show 页面闪烁

    最近在写组件时遇到一个问题,视图需要根据接口返回的数据频繁的切换状态又使用v-if时候加载出来的试图时闪烁我们来看...

  • vue2.0基础知识点

    1、v-if与v-show的区别 条件渲染 (使用v-if) 条件展示 (使用v-show) 2、关于vue中Wa...

  • Vue 2.0指令介绍

    live-server使用 一、v-if & v-show 示例:v-if 这里我们在vue的data里定义了is...

  • Vue使用笔记

    Vue使用笔记 在vue中修改dom的css属性时,若使用v-if,则赋值失败,应使用v-show

  • 如何回答“Vue 性能优化”问题

    一.Vue代码层面优化 1.1、v-if 和 v-show 区分使用场景 v-if 是 真正 的条件渲染,因为它会...

  • 五、Vue的条件渲染(v-if、v-show、v-for指令)

    五、Vue的条件渲染(v-if、v-show、v-for指令)v-if(控制DOM的存在与否)、v-show(控制...

  • vue中的v-if和v-show的区别

    vue中常用v-if和v-show来控制元素的显示和隐藏,但是他们是有区别的: 1.页面渲染 v-show 首次进...

  • vue中v-if与v-show的区别

    在 Vue.js 中,使用 v-if 和 v-show 指令来控制条件渲染。 1.二者的区别: v-show :会...

  • 第二天

    1、v-show和v-if区别? v-show判断节点是否隐藏 v-if 判断节点是否渲染 2、vue中key的作...

  • Vue性能优化方法?

    路由懒加载 keep-alive 缓存页面 使用 v-show复用 DOM v-for 遍历避免同时使用v-if ...

网友评论

      本文标题:vue使用v-if v-show 页面闪烁

      本文链接:https://www.haomeiwen.com/subject/ohgciktx.html