12 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 lang="en"><head><meta charset="UTF-8" /><link rel="icon" type="image/svg+xml" href="/vite.svg" /><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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/294835.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js显示实时时间

文章目录 一、效果二、思路三、最后 一、效果 用JS实现XXXX年XX月XX日 星期X XX时XX分XX秒 效果 效果 &#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>time</title><script t…

QTNet:Query-based Temporal Fusion with Explicit Motion for 3D Object Detection

参考代码&#xff1a;QTNet 动机和出发点 自动驾驶中时序信息对感知性能具有较大影响&#xff0c;如在感知稳定性维度上。对于常见的时序融合多是在feature的维度上做&#xff0c;这个维度的融合主要分为如下两个方案&#xff1a; 1&#xff09;BEV-based方案&#xff1a;将之…

nodejs+vue+ElementUi会员制停车场车位系统

总之&#xff0c;智能停车系统使停车场管理工作规范化&#xff0c;系统化&#xff0c;程序化&#xff0c;避免停车场管理的随意性&#xff0c;提高信息处理的速度和准确性&#xff0c;能够及时、准确、有效的查询和修改停车场情况。 三、任务&#xff1a;小组任务和个人任务 智…

CentOs 安装MySQL

1、拉取安装包 wget --no-check-certificate dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm 成功拉取 2、安装 yum install mysql-community-release-el6-5.noarch.rpm 过程中可能需要你同意一些东西&#xff0c;y 即可 然后稍微检查一下 yum repolist enabled…

Java的Set集合相关介绍

当我们需要对元素去重的时候&#xff0c;会使用Set集合&#xff0c;可选的Set集合有三个&#xff0c;分别是HashSet、LinkedHashSet、TreeSet&#xff0c;这三个常用的Set集合有什么区别呢&#xff1f;底层实现原理是什么样&#xff1f;这篇文章一起来深度剖析。 共同点 这三个…

2016年第五届数学建模国际赛小美赛B题直达地铁线路解题全过程文档及程序

2016年第五届数学建模国际赛小美赛 B题 直达地铁线路 原题再现&#xff1a; 在目前的大都市地铁网络中&#xff0c;在两个相距遥远的车站之间运送乘客通常需要很长时间。我们可以建议在两个长途车站之间设置直达班车&#xff0c;以节省长途乘客的时间。   第一部分&#xf…

node-red:使用node-red-contrib-amqp节点,实现与RabbitMQ服务器(AMQP)的消息传递

node-red-contrib-amqp节点使用 一、简介1.1 什么是AMQP协议?1.2 什么是RabbitMQ? -> 开源的AMQP协议实现1.3 RabbitMQ的WEB管理界面介绍1.3 如何实现RabbitMQ的数据采集? -> node-red 二、node-red-contrib-amqp节点安装与使用教程2.1 节点安装2.2 节点使用2.2.1 amq…

c语言:计算1+2+3……+n的和|练习题

一、题目 输入一个数n&#xff0c;计算123……n的和 二、代码截图【带注释】 三、源代码【带注释】 #include int main() { int num0; printf("请输入要运算的数:"); scanf("%d",&num); sumResult(num);//相加结果函数 } //计算打印…

【Linux/gcc】C/C++——头文件和库

目录 一、头文件 1、gcc查找头文件 2、gcc与g的区别 二、库 1、简介 2、实验 2.1、静态库的编写 2.2、动态库的编写 2.3、库的使用 2.4、链接库 一、头文件 头文件存在的目的是为了把接口和实现分离&#xff0c;便于多文件编程的组织&#xff0c;例如&#xff1a; 在…

C# 判断两个时间段是否重叠

public static bool IsOverlap(DateTime startTime1, DateTime endTime1, DateTime startTime2, DateTime endTime2){// 判断两个时间段是否有重叠return !(endTime1 < startTime2 || startTime1 > endTime2);//根据德摩根定律&#xff0c;等效为&#xff1a;endTime1 &g…

Go语言HTTP客户端编程实践

在互联网时代&#xff0c;HTTP客户端编程已经成为一项必备技能。而Go语言作为一种高效、简洁的编程语言&#xff0c;非常适合用来构建高效的HTTP客户端。下面&#xff0c;我们就来一起探讨如何使用Go语言进行HTTP客户端编程实践。 首先&#xff0c;让我们来看看如何使用Go语言…

步兵 cocos2dx 加密和混淆

文章目录 摘要引言正文代码加密具体步骤代码加密具体步骤测试和配置阶段IPA 重签名操作步骤 总结参考资料 摘要 本篇博客介绍了针对 iOS 应用中的 Lua 代码进行加密和混淆的相关技术。通过对 Lua 代码进行加密处理&#xff0c;可以确保应用代码的安全性&#xff0c;同时提高性…