Vye,v-if 和 v-show 显示隐藏的使用

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     </head>
 7     <script src="../js/vue.js"></script>
 8     <body>
 9         <div id="app">
10         
11             <!-- 这么写比较麻烦, 因为还要写在 methods里 一个toggle方法 -->
12             <!-- <input type="button" name="" id="" value="" @click="toggle" /> -->
13             
14             <input type="button" name="" id="" value="toggle" @click="flag=!flag" />
15 
16             <!-- v-if 的特点:每次都会重新删除或创建元素 -->
17             <!-- v-show 的特点: 每次不会重新经行DOM的删除和创建操作,只是切换了元素的 display:none 样式 -->
18             <!-- 按F12打开控制台,观察 v-if 和 v-show 标签 -->
19             
20             <!-- v-if 有较高的切换性能消耗 -->
21             <!-- v-show 有较高的初始渲染消耗 -->
22             
23             <!-- 如果元素涉及到频繁的切换,最好不要使用 v-if, 而是推荐使用 v-show -->
24             <!-- 如果元素可能永远也不会被显示出来被用户看到,则推荐使用 v-if -->
25             
26             <h3 v-if="flag">这是一个v-if控制的元素</h3>
27             <h3 v-show="flag">这是一个v-show控制的元素</h3>
28         
29         </div>
30     </body>
31 </html>
32 <script>
33     var vm = new Vue({
34         el:'#app',
35         data:{
36             flag:true
37         },
38         methods:{
39         //     toggle(){
40         //         this.flag  = ! this.flag
41         //     }
42         }
43     })
44 </script>

   在控制台可以观察到 v-if 和 v-show 的代码显示情况

     

  点击 toggle 按钮,控台代码代码变为下图所示

   

  我们可以看到 v-if消失, v-show的 display属性变为 none,这就是他俩的区别(最详细解释见代码块的//注释)

 2019-06-11 13:23:17

猜你喜欢

转载自www.cnblogs.com/wo1ow1ow1/p/11003150.html