v-if 与 v-show 的区别

v-show 本质是控制 标签css样式display

v-if 是动态的向DOM树添加或删除DOM元素

编译区别:

  v-show 实际就是控制 display:none 的快捷方式。

  v-show 只是隐藏了节点的显示,但是节点还在,其绑定的事件也都还在。

  v-if  条件渲染,

    如果满足条件,则整个子节点都会被渲染出来,包括事件的绑定等

    如果不满足条件,则整个子节点都会被删除,包括事件也会被解绑

编译条件区别:

  v-show都会编译,初始值为false,只是将display设为none,但它也编译了

  v-if初始值为false,就不会编译了

性能消耗区别:

  v-if 有更高的来回切换消耗

  v-show 有更高的初始渲染消耗

故:

    需要频繁切换状态的场景,使用 v-show

    需要加快初始化时的渲染速度,使用 v-if

posted @ 2020-10-10 11:28  静夜思雨  阅读(97)  评论(0编辑  收藏  举报