Vue3使用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> <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/
您可能感兴趣的文章
- 02-11js中基本事件的总结(onclick、onblur、onchange等)
- 02-11详解如何在Node.js中使用中间件处理请求
- 02-11Vue3中Provide和Inject的用法及工作原理详解
- 02-11Vue+vant实现图片上传添加水印
- 02-11快速解决 keep-alive 缓存组件中定时器干扰问题
- 02-11uniapp 使用 tree.js 解决模型加载不出来的问题及解决方法
- 02-11基于uniapp vue3 的滑动抢单组件实例代码
- 02-10JavaScript 中的 Map使用指南
- 02-10vue3中使用print-js组件实现打印操作步骤
- 02-10Vue 中v-model的完整用法及v-model的实现原理解析


阅读排行
推荐教程
- 04-23JavaScript Array实例方法flat的实现
- 04-23THREE.JS使用TransformControls对模型拖拽的代码实例
- 04-23Vue3使用v-if指令进行条件渲染的实例代码
- 04-23vue3+ts项目搭建的实现示例
- 04-23JavaScript实现下载超大文件的方法详解
- 04-23vue如何使用pdf.js实现在线查看pdf文件功能
- 04-23vue.js调用python脚本并给脚本传数据
- 12-18使用JavaScript遍历输出页面中的所有元素的方法详解
- 04-23JS加密解密之保存到桌面书签
- 12-18Vue实现滚动加载更多效果的示例代码