用案例说明v-if和v-show的区别

v-if和v-show相同之处

v-ifv-show 都具有条件判断的功能,如下面案例所示,“hello word” 都会在浏览器上消失

<body>
  <div id="app">
    <h2 v-if="isshow" >{{message}}</h2>
    <h2 v-show="isshow" >{{message}}</h2>
  </div> 
  
<script src="../vue.js"></script>
<script>
  var app = new Vue({
    el:'#app',
    data:{
      message:"hello world",
      isshow:true
    } 
  })
</script>
</body>

在这里插入图片描述

v-if和v-show不同之处

现在将上面两个h2标签里分别加上不同的id属性,和上面执行相同的步骤,“hello word” 也都会在浏览器上消失,究竟有什么不同呢??

<div id="app">
    <h2 v-if="isshow" id="if">{{message}}</h2>
    <h2 v-show="isshow" id="show">{{message}}</h2>
</div> 

在控制台中发现有一个h2标签消失了,有一个h2标签只是隐藏了,而隐藏的标签正是v-show的标签
在这里插入图片描述

总结

(1)v-if条件为false时,包含 v-if 指令的元素根本就 不会存在 dom中
v-show条件为false时,v-show只是给我们的元素增加了一个行内样式:display:none
(2)开发中如何选择
当需要在显示和隐藏之间切换很频繁时,使用v-show
当只有一次切换时,通过使用 v-if

发布了51 篇原创文章 · 获赞 26 · 访问量 1817

猜你喜欢

转载自blog.csdn.net/qq_45473786/article/details/105155404