条件渲染v-if、v-show

v-if

1.用于条件性地渲染一块内容的指令,必须依附于某个元素;

2.只有条件为true时,才会渲染生成DOM。

格式

<h1 v-if="xxx"></h1>  // xxx是能够转换为布尔值
<h1 v-else-if="xxx"></h1>
<h1 v-else-if="xxx"></h1>  // v-else-if可以连续多次使用,必须跟在v-if或v-else-if后使用
<h1 v-else></h1>  // v-else必须跟在v-if或v-else-if后使用,否则v-else不会被识别

// 同时控制多个元素隐藏与显示,可以用<template>标签包裹,并在该标签上使用v-if
// <template>标签是是一个不可见的包装元素,最后的渲染结果不会包含该标签,不会破坏结构
<template v-if="xxx">
  <div>show1</div>
  <div>show2</div>
  <div>show3</div>
</template>

v-show

1.也是用于条件性地渲染一块内容的指令,必须依附于某个元素;

2.不管条件为true或false,都会渲染生成DOM

3.不能与v-else-if、v-else一起使用

4.不可以在<template>标签上使用

格式

<h1 v-show="xxx"></h1>  // xxx是能够转换为布尔值

v-if vs v-show

1.v-if为false时,不会渲染DOM,而v-show会保留DOM,但不显示,v-show底层是由css的display属性实现

注意:使用element ui表单验证时,若某些验证项需要根据条件进行展示,需要用v-if控制,否则页面不显示,DOM依旧存在

2.v-if可以在<template>标签上使用,而v-show不行

3.v-if用于偶尔切换显示,而v-show用于频繁切换显示

学习自用,欢迎大家批评指正~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值