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

 更新时间:2024年03月26日 11:00:17   作者:Python私教  
条件渲染是根据条件的真假来有条件地渲染元素,在Vue.js 3.x中,常见的条件渲染包括使用v-if指令和v-show指令,本文讲解使用v-if指令进行条件渲染,需要的朋友可以参考下

概述

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="/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条件渲染的资料请关注脚本之家其它相关文章!

相关文章

  • webstorm添加vue.js支持的方法教程

    webstorm添加vue.js支持的方法教程

    因为本人使用的是webstorm2016 2.3版本,结果竟然不支持vue文件,所以找到了一个解决方法,下面这篇文章主要给大家介绍了关于webstorm添加vue支持的方法教程,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • vue3下eslint配置方式

    vue3下eslint配置方式

    这篇文章主要介绍了vue3下eslint配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Vue首屏性能优化组件知识点总结

    Vue首屏性能优化组件知识点总结

    在本篇文章里小编给大家整理了一篇关于Vue首屏性能优化组件知识点总结,有需要的朋友们可以跟着学习下。
    2021-11-11
  • vue实现消息无缝滚动效果

    vue实现消息无缝滚动效果

    这篇文章介绍了vue实现消息无缝滚动效果的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Vue实现Base64转png、jpg图片格式

    Vue实现Base64转png、jpg图片格式

    这篇文章主要给大家介绍了关于Vue实现Base64转png、jpg图片格式的相关资料,前段获取生成的是base64图片,需要转化为jpg,png,需要的朋友可以参考下
    2023-09-09
  • 解决Vue.js父组件$on无法监听子组件$emit触发事件的问题

    解决Vue.js父组件$on无法监听子组件$emit触发事件的问题

    今天小编就为大家分享一篇解决Vue.js父组件$on无法监听子组件$emit触发事件的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 如何修改Vue项目运行的IP和端口

    如何修改Vue项目运行的IP和端口

    这篇文章主要介绍了修改Vue项目运行的IP和端口的方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • vue3接口数据赋值对象,渲染报错问题及解决

    vue3接口数据赋值对象,渲染报错问题及解决

    这篇文章主要介绍了vue3接口数据赋值对象,渲染报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue3中依赖注入provide、inject的使用

    Vue3中依赖注入provide、inject的使用

    这篇文章主要介绍了Vue3中依赖注入provide、inject的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Vue中watch监听第一次不触发、深度监听问题

    Vue中watch监听第一次不触发、深度监听问题

    这篇文章主要介绍了Vue中watch监听第一次不触发、深度监听问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论