vue中v-if与v-show的区别以及使用场景

作者: 弹指一挥间_e5a3 | 来源:发表于2019-06-04 09:51 被阅读0次

区别

  • 1.手段:v-if是通过控制dom节点的存在与否来控制元素的显隐;v-show是通过设置DOM元素的display样式,block为显示,none为隐藏;
  • 2.编译过程:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show只是简单的基于css切换;
  • 3.编译条件:v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载); v-show是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM元素保留;
  • 4.性能消耗:v-if有更高的切换消耗;v-show有更高的初始渲染消耗;

使用场景

基于以上区别,因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

总结

v-if判断是否加载,可以减轻服务器的压力,在需要时加载,但有更高的切换开销;v-show调整DOM元素的CSS的dispaly属性,可以使客户端操作更加流畅,但有更高的初始渲染开销。如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

参考来源

相关文章

  • vue2.0基础知识点

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

  • 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 性能优化”问题

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

  • vue中v-if与v-show的区别以及使用场景

    区别 1.手段:v-if是通过控制dom节点的存在与否来控制元素的显隐;v-show是通过设置DOM元素的disp...

  • vue面试总结

    1.vue中 key 值的作用?2.computed和watch的区别?以及使用场景?3.v-if和v-show的...

  • Vue中 v-if 和 v-show 的理解

    一、v-show与v-if的共同点 我们都知道在 vue 中 v-show 与 v-if 的作用效果是相同的(不含...

  • Vue使用笔记

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

  • v-if与v-show的用法与区别

    标签: vue vue中显隐方法常用两种,v-show和v-if,但这两种是有区别的。 实现本质方法区别vue-s...

  • Vue项目的优化

    Vue 代码层优化 1. v-if 和 v-show区分使用的场景 v-if 适用于在运行时很少改变条件,不需要频...

网友评论

    本文标题:vue中v-if与v-show的区别以及使用场景

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