7 VUE基础:条件渲染

Vue中用来做条件渲染的指令:v-ifv-show

7.1 v-if条件

v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 truthy 值的时候被渲染。也可以用 v-else 添加另外一个条件块。v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>VUE 条件渲染</title></head><body><div id='app'><p v-if="isGood">今天是一个好天气</p><p v-else>今天的天气真糟糕</p></div></body><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script type="text/javascript">const vm = new Vue({el : '#app',data : {isGood : true}})</script>
</html>

因为 v-if 是一个指令,所以必须将它添加到一个元素上。但是如果想切换多个元素呢?此时可以把一个元素当做不可见的包裹元素,并在上面使用 v-if。最终的渲染结果将不包含。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>VUE 条件渲染</title></head><body><div id='app'><p v-if="isGood">今天是一个好天气</p><p v-else>今天的天气真糟糕</p><hr><h2>使用template包裹多个显示项目展示</h2><template v-if="isPerson"><h4>个人介绍</h4><p>我是黑白猿</p><p>我是一名项目经理</p></template><template v-else><h4>团队介绍</h4><p>积极向上,奋勇争先</p><p>打造全国一流融媒体尖兵</p></template><hr></div></body><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script type="text/javascript">const vm = new Vue({el : '#app',data : {isGood : true,isPerson: false}})</script></html>

渲染结果:

7.2 v-show条件

v-show 指令用法和v-if大致一样,用于根据条件展示元素。不同的是带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的CSS属性 display

注意,v-show 不支持template元素,也不支持 v-else

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>VUE 条件渲染</title></head><body><div id='app'><h2>v-show展示示例</h2><p v-show="isGood">今天是一个好天气</p><p v-show="!isGood">今天的天气真糟糕</p></div></body><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script type="text/javascript">const vm = new Vue({el : '#app',data : {isGood : true,isPerson: true}})</script></html>

渲染结果:

7.3 v-if & v-show

v-if

  • 真正的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
  • 惰性的,如果在初始渲染时条件为假,则什么也不做;直到条件第一次变为真时,才会开始渲染条件块。
  • v-if 有更高的切换开销

v-show

  • 不管初始条件是什么,元素总是会被渲染,并且只是简单地基于CSS样式进行切换。
  • v-show 有更高的初始渲染开销。

因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

【猿说VUE】条件渲染,绝代双骄之 v-if 和v-show相关推荐

  1. Vue 条件渲染 列表绚烂 双向数据处理

    Vue 条件渲染 列表绚烂 双向数据处理 文章目录 Vue 条件渲染 列表绚烂 双向数据处理 1.style和class 2.条件渲染 3.列表渲染 3.1.v-for 循环数组,循环字符串,数字对象 ...

  2. 3.Vue 条件渲染

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 3.Vue指令之条件渲染 这篇 ...

  3. vue 条件渲染 v-if | v-show

    <!--条件渲染:1. v-if写法:(1). v-if="表达式"(2). v-else-if="表达式"(3). v-else="表达式&q ...

  4. Vue - 条件渲染与列表渲染

    条件渲染 v-if v-if会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建. <div id="app"><h3 v-if="ok&q ...

  5. Vue条件渲染---vue工作笔记0008

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们再去看vue的条件渲染,可以看到这个功能还是很好用的. 写个例子去看看 首先准备基本页面 ...

  6. Vue实例基础5 (vue 条件渲染与列表渲)

    5. 条件渲染与列表渲染 v-if 和 v-show 指令 key 属性 v-for 进行列表渲染 数组的检测 v-if 和 v-show 指令 根据 data 的值来决定某一块区域是否进行渲染. & ...

  7. vue条件渲染、列表渲染、样式绑定

    vue 官网 ---- https://cn.vuejs.org/v2/guide/class-and-style.html 样式绑定 class绑定 1.对象语法 <div class=&qu ...

  8. vue条件渲染指令if/show

    条件渲染指令 一: v-if/ v-else/ v-else-if 二: v-show 三: 两者区别 v-if通过真实创建和删除dom来操作 v-show通过css隐藏属性来切换 官方给出的: v- ...

  9. Vue基础之Vue条件渲染

    v-if 在 Vue.js ,我们使用 v-if 指令实现的功能 也可以用 v-else 添加一个 "else" 块 template-if 因为 v-if 是一个指令,需要将它添 ...

最新文章

  1. 百度正在加速小程序的开放趋势
  2. MyBatis批量插入
  3. html新增了哪些功能,HTML5相比HTML新增了哪些功能?
  4. JS实现md5.js、md4.js、sha1.js 加密算法使用
  5. cocos2dx[3.2](18)——屏幕截图ScreenShot
  6. 对象的初始状态(构造函数)
  7. mysql查出的结果太大 php_如何解决PHP使用mysql_query查询超大结果集超内存问题
  8. Mean Shift具体介绍
  9. EasyUI可编辑列
  10. Uvalive 3713 - Astronauts(2-SAT)
  11. Gradle简单使用
  12. python中的 __getattr__ __setattr__ __getitem__ __add__
  13. 评人工智能如何走向新阶段?
  14. springboot集成quartz
  15. WORD中编辑页码方法大全
  16. 离骚,屈原,名句翻译
  17. Python0基础(上)——期末不挂科
  18. cmd黑客入侵命令大全
  19. 【论文阅读30】-《Autocuts: Simultaneous Distortion and Cut Optimization for UV Mapping》
  20. R实战:【股票分析】用quantmod在股票的K线上添加标记

热门文章

  1. 小白之WEB前端--第一篇
  2. VC6连接Oracle10g
  3. linux系统单网卡绑定双IP的方法
  4. (产品求职)阿里巴巴价值观和业务图
  5. 7-1 寻找大富翁 (25 分)
  6. 海康威视曲面大屏出现花屏,闪烁等现象该如何解决?
  7. 工作记录 --01 验证证件号合法性!
  8. python基础之温度转换
  9. HTML的图文排版,css 文章内容排版实例
  10. Struggling