Vue3使用v-if指令进行条件渲染的实例代码

 更新时间:2024年03月26日 11:00:17   作者:Python私教  
条件渲染是根据条件的真假来有条件地渲染元素,在Vue.js 3.x中,常见的条件渲染包括使用v-if指令和v-show指令,本文讲解使用v-if指令进行条件渲染,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

概述

v-if指令主要用来实现条件渲染,在实际项目中使用得也非常多。

v-if通常会配合v-else-if、v-else指令一起使用,可以达到多个条件执行一个,两个条件执行一个,满足一个条件执行等多种场景。

下面,我们分别演示这三种使用场景。

基本用法

我们创建src/components/Demo12.vue,在这个组件中,我们要:

  • 场景1:v-if单独使用,如果count大于0,则显示“数字大于0了”。
  • 场景2:v-if和v-else配合使用,如果count大于20,则显示“数字大于20了”,否则显示“数字小于或者等于20”
  • 场景3:v-if、v-else-if、v-else配合使用,如果count大于100则显示“数字大于100了”,如果count等于100,则显示“数字等于100了”,否则显示“数字小于100了”

为了便于查看效果,我们还要通过两个按钮,一个按钮控制count的增加,另一个按钮控制count的减少。

代码如下:

<script setup>
import {ref} from "vue";

const count = ref(33)
</script>
<template>
  <div v-if="count>0">数字大于0了</div>
  <hr>
  <div v-if="count>20">数字大于20了</div>
  <div v-else>数字小于或者等于20</div>
  <hr>
  <div v-if="count>100">数字大于100了</div>
  <div v-else-if="count===100">数字等于100了</div>
  <div v-else>数字小于100了</div>
  <hr>
  <div>
    <h3>{{ count }}</h3>
    <button @click="count+=10">增加</button>
    <button @click="count-=10">减少</button>
  </div>
</template>

接着,我们修改src/App.vue,引入Demo12.vue并进行渲染:

<script setup>
import Demo from "./components/Demo12.vue"
</script>
<template>
  <h1>欢迎跟着Python私教一起学习Vue3入门课程</h1>
  <hr>
  <Demo/>
</template>

然后,我们浏览器访问:http://localhost:5173/

在这里插入图片描述

完整代码

package.json

{
  "name": "hello",
  "private": true,
  "version": "0.1.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  "dependencies": {
    "vue": "^3.3.8"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.5.0",
    "vite": "^5.0.0"
  }
}

vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
})

index.html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/?vite.svg" rel="external nofollow"  />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + Vue</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="http://9i0i.com/pic.php?p=/src/main.js"></script>
  </body>
</html>

src/main.js

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

src/App.vue

<script setup>
import Demo from "./components/Demo12.vue"
</script>
<template>
  <h1>欢迎跟着Python私教一起学习Vue3入门课程</h1>
  <hr>
  <Demo/>
</template>

src/components/Demo12.vue

<script setup>
import {ref} from "vue";

const count = ref(33)
</script>
<template>
  <div v-if="count>0">数字大于0了</div>
  <hr>
  <div v-if="count>20">数字大于20了</div>
  <div v-else>数字小于或者等于20</div>
  <hr>
  <div v-if="count>100">数字大于100了</div>
  <div v-else-if="count===100">数字等于100了</div>
  <div v-else>数字小于100了</div>
  <hr>
  <div>
    <h3>{{ count }}</h3>
    <button @click="count+=10">增加</button>
    <button @click="count-=10">减少</button>
  </div>
</template>

启动方式

yarn
yarn dev

浏览器访问:http://localhost:5173/

以上就是Vue3使用v-if指令进行条件渲染的实例代码的详细内容,更多关于Vue3 v-if条件渲染的资料请关注程序员之家其它相关文章!

相关文章

  • vue组件是如何解析及渲染的?

    vue组件是如何解析及渲染的?

    这篇文章主要介绍了vue组件是如何解析及渲染的?,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2021-01-01
  • vue?background-image?不显示问题的解决

    vue?background-image?不显示问题的解决

    这篇文章主要介绍了vue?background-image?不显示问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue3中createWebHistory和createWebHashHistory的区别详析

    Vue3中createWebHistory和createWebHashHistory的区别详析

    这篇文章主要给大家介绍了关于Vue3中createWebHistory和createWebHashHistory区别的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06
  • 在vue中使用echarts的方法以及可能遇到的问题

    在vue中使用echarts的方法以及可能遇到的问题

    Echarts是一个与框架无关的JS图表库,但是它基于Js,这样很多框架都能使用它,下面这篇文章主要给大家介绍了关于在vue中使用echarts的方法以及可能遇到的问题的相关资料,需要的朋友可以参考下
    2022-09-09
  • vue获取el-form的整体验证状态

    vue获取el-form的整体验证状态

    本文主要介绍了vue获取el-form的整体验证状态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 在Vue3项目中使用Jest配置生成测试报告的示例详解

    在Vue3项目中使用Jest配置生成测试报告的示例详解

    在Vue 3项目中使用Jest进行单元测试是一种常见的做法,它可以帮助我们验证代码的正确性和稳定性,本文将介绍如何在Vue 3项目中配置Jest,以生成测试报告,需要的朋友可以参考下
    2023-09-09
  • Vue的computed计算属性你了解吗

    Vue的computed计算属性你了解吗

    这篇文章主要为大家详细介绍了Vue的computed计算属性,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • vue普通加密及国密SM2、SM3和sm4的使用例子

    vue普通加密及国密SM2、SM3和sm4的使用例子

    在我的项目中,甲方要求系统登录时对密码进行加密后再传给后端,指定使用国密SM3,下面这篇文章主要给大家介绍了关于vue普通加密及国密SM2、SM3和sm4使用的相关资料,需要的朋友可以参考下
    2022-12-12
  • 为什么推荐使用JSX开发Vue3

    为什么推荐使用JSX开发Vue3

    这篇文章主要介绍了为什么推荐使用JSX开发Vue3,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2020-12-12
  • vue?v-for中key的原理详析

    vue?v-for中key的原理详析

    key属性可以用来提升v-for渲染的效率,vue中使用v-for渲染数据的时候,并不会去改变原有的元素和数据,下面这篇文章主要给大家介绍了关于vue?v-for中key原理的相关资料,需要的朋友可以参考下
    2022-04-04

最新评论

?


http://www.vxiaotou.com