美文网首页
v-show 和 v-if

v-show 和 v-if

作者: 李小白呀 | 来源:发表于2021-03-12 00:01 被阅读0次

1、相同点:

v-show 和 v-if 都能控制元素的显示和隐藏。

2、不同点:

2.1)实现本质方法不同
v-show 本质就是通过设置 css 中的 display 设置为 none,控制隐藏
v-if 是动态的向 DOM 树内添加或者删除 DOM 元素
2.2)编译的区别
v-show 其实就是在控制 css v-if 切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件
2.3)编译的条件
v-show 都会编译,初始值为 false,只是将 display 设为 none,但它也编译了v-if 初始值为 false,就不会编译了
2.4)性能比较
v-show 只编译一次,后面其实就是控制 css,而 v-if 不停的销毁和创建,故 v-show性能更好。
3、注意点:
因为 v-show 实际是操作 display:" "或者 none,当 css 本身有 display:none 时,v-show无法让其显示
4、总结(适用场景):
如果要频繁切换某节点时,使用 v-show(无论 true 或者 false 初始都会进行渲染,此后通过 css 来控制显示隐藏,因此切换开销比较小,初始开销较大),如果不需要频繁切换某节点时,使用 v-if(因为懒加载,初始为 false 时,不会渲染,但是因为它是通过添加和删除 dom元素来控制显示和隐藏的,因此初始渲染开销较小,切换开销比较大)

相关文章

  • vue2.0基础(一、内部指令)

    指令 1、条件判断 v-if v-else v-show ### v-if 和v-show的区别: v-if:...

  • 2018-05-22 指令

    v-if && v-show && v-else v-if和v-show的区别:v-if 判断是否加载,如果时fa...

  • v-show v-if v-bind 和display

    一、v-show和v-if:v-show和v-if都可以控制元素的显示或隐藏,但是v-show是用display控...

  • Vue学习笔记二:Vue基础语法

    1.模板语法 2.属性绑定 3.条件渲染 v-if & v-show v-if 和v-show的区别:v-if: ...

  • vue2.0题目

    1 .v-show和v-if的区别 v-show 通过css display 控制显示和隐藏 v-if 组件真正的...

  • Vue2学习笔记:vue条件渲染

    一、v-if ①template v-if ②v-else ③v-show 二、v-if vs v-show 学好...

  • vue基础

    v-show和v-if v-show跟v-if都是做条件隐藏跟显示用的, v-show是根据样式进行显示隐藏dis...

  • 前端性能优化

    一、代码层面的优化 (1)v-if 和 v-show 区分使用场景 v-if是DOM的销毁和重建,v-show只是...

  • 第二天

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

  • v-show v-if v-for

    1: v-if和v-show的区别 v-if v-if 最终会被编译成三元运算符 v-show 编译的时候编译成指...

网友评论

      本文标题:v-show 和 v-if

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