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

 

相关文章
|
3月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
509 0
|
3月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
3月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
189 1
|
5月前
|
JavaScript
vue实现任务周期cron表达式选择组件
vue实现任务周期cron表达式选择组件
711 4
|
4月前
|
JavaScript 数据可视化 前端开发
基于 Vue 与 D3 的可拖拽拓扑图技术方案及应用案例解析
本文介绍了基于Vue和D3实现可拖拽拓扑图的技术方案与应用实例。通过Vue构建用户界面和交互逻辑,结合D3强大的数据可视化能力,实现了力导向布局、节点拖拽、交互事件等功能。文章详细讲解了数据模型设计、拖拽功能实现、组件封装及高级扩展(如节点类型定制、连接样式优化等),并提供了性能优化方案以应对大数据量场景。最终,展示了基础网络拓扑、实时更新拓扑等应用实例,为开发者提供了一套完整的实现思路和实践经验。
518 77
|
5月前
|
缓存 JavaScript 前端开发
Vue 基础语法介绍
Vue 基础语法介绍
|
3月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
353 17
|
3月前
|
JavaScript 前端开发 UED
Vue 手风琴实现的三种常用方式及长尾关键词解析
手风琴效果是Vue开发中常见的交互组件,可节省页面空间、提升用户体验。本文介绍三种实现方式:1) 原生Vue结合数据绑定与CSS动画;2) 使用Element UI等组件库快速构建;3) 自定义指令操作DOM实现独特效果。每种方式适用于不同场景,可根据项目需求选择。示例包括产品特性页、后台菜单及FAQ展示,灵活满足多样需求。附代码示例与资源链接,助你高效实现手风琴功能。
156 10
|
3月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件的实现代码:支持自定义表情库、快捷键发送和输入框联动的聊天表情解决方案
本文详细介绍了在 Vue 项目中实现一个功能完善、交互友好的表情包输入组件的方法,并提供了具体的应用实例。组件设计包含表情分类展示、响应式布局、与输入框的交互及样式定制等功能。通过核心技术实现,如将表情插入输入框光标位置和点击外部关闭选择器,确保用户体验流畅。同时探讨了性能优化策略,如懒加载和虚拟滚动,以及扩展性方案,如自定义主题和国际化支持。最终,展示了如何在聊天界面中集成该组件,为用户提供丰富的表情输入体验。
299 8