07-Vue之本地应用v-show/v-if指令

简介: 07-Vue之本地应用v-show/v-if指令

1. v-show指令

  • 作用:根据表达值的真假,切换元素的显示和隐藏
  • 本质:修改元素的display,实现显示隐藏
  • 说明:指令后面的内容,最终都会解析为布尔值,值为true元素显示,值为false元素隐藏

 完整代码

1. <!DOCTYPE html>
2. <html lang="en">
3. 
4. <head>
5. <meta charset="UTF-8">
6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
7. <title>Document</title>
8. </head>
9. 
10. <body>
11. <!-- 开发环境版本,包含了有帮助的命令行警告 -->
12. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
13. 
14. <div id='app'>
15. <!-- 直接写true/false -->
16. <!-- <img src="./test_img.jpg" alt="" v-show='true'> -->
17. 
18. <!-- 动态修改 -->
19. <input type="button" value="展示切换" @click='changeIsShow'>
20. <img src="./test_img.jpg" alt="" v-show='isShow'>
21. 
22. <!-- 表达式 -->
23. <input type="button" value="累加年龄" @click='addAge'>
24. <img src="./test_img.jpg" alt="" v-show='age>26'>
25. </div>
26. 
27. <script>
28. var app = new Vue({
29. el: '#app',
30. data: {
31. isShow: false,
32. age: 24
33.             },
34. methods: {
35. changeIsShow: function () {
36. this.isShow = !this.isShow
37.                 },
38. addAge: function () {
39. this.age ++;
40.                 }
41.             }
42. 
43.         })
44. </script>
45. </body>
46. 
47. </html>

2. v-if 指令

  • 作用:根据表达式的真假切换元素的显示状态
  • 本质:通过操纵dom元素来切换显示状态
  • 说明:表达式的值为true,元素存在于dom树中,为false,从dom树中移除
1. <!DOCTYPE html>
2. <html lang="en">
3. 
4. <head>
5. <meta charset="UTF-8">
6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
7. <title>Document</title>
8. </head>
9. 
10. <body>
11. <div id='app'>
12. <input type="button" @click='changeShow' value="切换显示">
13. <!-- 直接操作Dom树,性能消耗大 -->
14. <p v-if='isShow'>大家好,我是测试小白!</p>
15. 
16. <!-- 控制属性display的值,操作频繁时建议使用 -->
17. <p v-show='isShow'>大家好,我是测试小白!</p>
18. 
19. <!-- 表达式 -->
20. <input type="button" value="多点几下就脱单了" @click='changeAge'>
21. <h2 v-if='age>28'>恭喜你脱单了,哈哈哈哈!</h2>
22. 
23. </div>
24. <!-- 开发环境版本,包含了有帮助的命令行警告 -->
25. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
26. 
27. 
28. <script>
29. var app = new Vue({
30. el: '#app',
31. data: {
32. isShow: false,
33. age:26
34. 
35.             },
36. methods: {
37. changeShow: function () {
38. this.isShow = !this.isShow
39.                 },
40. changeAge:function(){
41. this.age++;
42.                 }
43.             }
44. 
45.         })
46. </script>
47. 
48. </body>
49. 
50. </html>

3. 总结

  • v-show和v-if根据表达式的真假切换元素的显示状态
  • v-show修改display;v-if操作Dom树,性能消耗大
  • 元素频繁操作显示隐藏时,建议使用v-show

 

目录
打赏
0
0
0
0
3
分享
相关文章
Vue实现动态数据透视表(交叉表)
Vue实现动态数据透视表(交叉表)
97 13
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
本文介绍了使用 Vue Flow 绘制流程图的方法与技巧。Vue Flow 是一个灵活强大的工具,适合自定义复杂的流程图。文章从环境要求(Node.js v20+ 和 Vue 3.3+)、基础入门案例、自定义功能(节点与连线的定制、事件处理)到实际案例全面解析其用法。重点强调了 Vue Flow 的高度灵活性,虽然预定义内容较少,但提供了丰富的 API 支持深度定制。同时,文中还分享了关于句柄(handles)的使用方法,以及如何解决官网复杂案例无法运行的问题。最后通过对比 mermaid,总结 Vue Flow 更适合需要高度自定义和复杂需求的场景,并附带多个相关技术博客链接供进一步学习。
属性描述符初探——Vue实现数据劫持的基础
属性描述符还有很多内容可以挖掘,比如defineProperty与Proxy的区别,比如vue2与vue3实现数据劫持的方式有什么不同,实现效果有哪些差异等,这篇博文只是入门,以后有时间再深挖。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Vue中的class和style绑定
在 Vue 中,class 和 style 绑定是基于数据驱动视图的强大功能。通过 class 绑定,可以动态更新元素的 class 属性,支持对象和数组语法,适用于普通元素和组件。style 绑定则允许以对象或数组形式动态设置内联样式,Vue 会根据数据变化自动更新 DOM。
|
11月前
|
Vue中的v-bind指令的用法有哪些?
Vue中的v-bind指令的用法有哪些?
207 37
vue指令用法
Vue.js中的指令是Vue的核心概念之一,它用于将数据绑定到DOM元素,让Vue响应用户操作,更新数据,并将数据同步到视图上。
77 0