当前位置: 首页 > news >正文

Vue3实战学习(Vue3的基础语法学习与使用(超详细))(3)

目录

(1)Vue3工程环境准备、项目基础脚手架搭建详细教程。(博客链接)

(2)Vue3的基础语法学习与使用。

(1)"{{}}"绑定数据。

<1>ref()函数定义变量——绑定数据。

<2>reactive({...})函数定义变量——绑定数据。

(2)定义数据的两种方式。(常用)

<1>ref()函数。

<2>reactive({...})——Vue实例定义中再定义变量。

(3)v-model。(绑定数据、双向绑定)

(4)v-if、v-else-if、v-else。(根据变量值动态地改变页面渲染)

(5)v-for。

<1>绑定数组变量动态渲染盒子(卡片)。

<2>绑定数组变量动态渲染"选择下拉框"。

(6)"v-on:"(原生写法)或"@"(简写)。(事件绑定)

(7)v-bind。(动态绑定属性)

(8)onMounted。(页面元素加载后触发)


(1)Vue3工程环境准备、项目基础脚手架搭建详细教程。(博客链接)

  • Vue3实战学习(Vue环境配置、快速上手及卸载、下载安装Node.js超详细教程(2025)、npm配置淘宝镜像)(1)-CSDN博客
  • Vue3实战学习(IDEA中打开、启动与搭建Vue3工程极简脚手架教程(2025超详细教程)、Windows系统命令行启动Vue3工程)(2)-CSDN博客

(2)Vue3的基础语法学习与使用。

(1)"{{}}"绑定数据。
  • 结合下面的定义数据的两种方式——>展示"{{}}"绑定数据。
  • 当Vue实例中的变量的数据变化时,页面上的内容也会随之更新。

<1>ref()函数定义变量——绑定数据。
<template><div><div style="background-color: darksalmon; font-size: 20px; font-weight: bold; font-style: italic; margin-bottom: 20px" >欢迎来到hyl的第一个Vue3项目主页!加油学习吧!</div><div style="font-size: 25px">{{ a }} {{ b }}</div></div>
</template><script setup>import {ref} from "vue";//第一种定义数据的方式
const a = ref(666)
const b = ref("岁岁岁平安真的很帅!")</script>

  • 页面渲染后如下所示。


<2>reactive({...})函数定义变量——绑定数据。
<template><div><div style="background-color: darksalmon; font-size: 20px; font-weight: bold; font-style: italic; margin-bottom: 20px" >欢迎来到hyl的第一个Vue3项目主页!加油学习吧!</div><div style="font-size: 25px;margin-bottom: 20px">{{ a }} {{ b }}</div><div style="font-size: 25px;font-weight: bold;margin-bottom: 20px">{{ data.c }} {{ data.d }}</div></div>
</template><script setup>import {reactive, ref} from "vue";const a = ref(666)
const b = ref("岁岁岁平安真的很帅!")//第二种定义数据的方式
const data = reactive({c: 123,d:"岁岁岁平安加油学Vue3!"
})</script>


  • 页面渲染后如下所示。

  • 不要直接绑定Vue对象。不然整个对象全部渲染出来了。

<div style="font-size: 25px;font-weight: bold;margin-bottom: 20px">{{ data.c }} {{ data.d }}{{data}}
</div>

(2)定义数据的两种方式。(常用)
  • 注意:两种方式的使用都需要导包才能使用
<1>ref()函数。


<2>reactive({...})——Vue实例定义中再定义变量。

(3)v-model。(绑定数据、双向绑定)
  • v-model:通常用于表单绑定数据
  • 使用"输入框"(<input/>)进行绑定数据演示。
<template><div><div style="background-color: darksalmon; font-size: 20px; font-weight: bold; font-style: italic; margin-bottom: 20px" >欢迎来到hyl的第一个Vue3项目主页!加油学习吧!</div><div style="margin-bottom: 20px"><input v-model="data.c" /></div></div>
</template><script setup>import {reactive, ref} from "vue";//第二种定义数据的方式
const data = reactive({c: 123,d:"岁岁岁平安加油学Vue3!"
})</script>


  • 双向绑定。数据可以在用户输入的时候发生实时的变化。


(4)v-if、v-else-if、v-else。(根据变量值动态地改变页面渲染)
  • 需求:当data.name的值改变时,渲染的<span>也跟着改变。




  • 使用v-if、v-else-if、v-else完成变量的值动态改变页面渲染。
  • 注意:当双引号中需要再使用双引号时,需要将内部的双引号改成单引号。否则无法识别内部的双引号。
<template><div><div style="background-color: darksalmon; font-size: 20px; font-weight: bold; font-style: italic; margin-bottom: 20px" >欢迎来到hyl的第一个Vue3项目主页!加油学习吧!</div><div><span style="font-weight: bold;color: red" v-if="data.name === '佩奇'">小猪佩奇</span><span style="font-weight: bold;color: gold" v-else-if="data.name === '美猴王'">美猴王</span><span style="font-weight: bold;color: black" v-else>科比</span></div></div>
</template><script setup>import {reactive, ref} from "vue";const a = ref(666)
const b = ref("岁岁岁平安真的很帅!")//第二种定义数据的方式
const data = reactive({c: 123,d:"岁岁岁平安加油学Vue3!",name:"佩奇"
})</script>


  • 修改data.name的值。观察页面渲染结果。



(5)v-for。
<1>绑定数组变量动态渲染盒子(卡片)。
  • Vue实例data中定义一个数组变量arr。数组变量里面有三个数字。需要实现的操作:让这三个数字渲染到三个<div>盒子中并显示在页面中。


  • 将三个div盒子的样式设计好后。



  • 使用v-for完成数组变量的数据的依次绑定。
  • 原理:临时变量item,通过循环依次将data.arr的数组变量内的值赋值给item。


<template><div><div style="background-color: darksalmon; font-size: 20px; font-weight: bold; font-style: italic; margin-bottom: 20px" >欢迎来到hyl的第一个Vue3项目主页!加油学习吧!</div><!--   三个div盒子横着排列 --><div style="display: flex"><div style="width: 300px;height: 300px;text-align:center;font-weight:bold;line-height:300px;background-color: chartreuse;margin-right: 10px" v-for="item in data.arr">{{item}}</div></div></div>
</template><script setup>import {reactive, ref} from "vue";const a = ref(666)
const b = ref("岁岁岁平安真的很帅!")//第二种定义数据的方式
const data = reactive({c: 123,d:"岁岁岁平安加油学Vue3!",name:"",arr:[1,2,3],
})</script>


  • 修改data.arr里的值。再查看页面的渲染结果。



<2>绑定数组变量动态渲染"选择下拉框"。
  • 让下拉选择框动态绑定数组变量:data.fruits。


<div style="margin-bottom: 25px"><select style="width: 100px"><option v-for="item in data.fruits">{{item}}</option></select>
</div>

  • 页面的最终渲染结果。


(6)"v-on:"(原生写法)或"@"(简写)。(事件绑定)
  • 像鼠标移动、鼠标移入输入框聚集事件、点击<div>盒子、点击按钮、失焦事件、键盘输入事件等等都是一种事件。

  • 本次案例:点击按钮,触发事件,弹出一个网页提示。


<template><div><div style="background-color: darksalmon; font-size: 20px; font-weight: bold; font-style: italic; margin-bottom: 20px" >欢迎来到hyl的第一个Vue3项目主页!加油学习吧!</div><div><button v-on:click="onClick">点我加好运</button></div></div>
</template><script setup>import {reactive, ref} from "vue";const a = ref(666)
const b = ref("岁岁岁平安真的很帅!")//第二种定义数据的方式
const data = reactive({c: 123,d:"岁岁岁平安加油学Vue3!",name:"",arr:[4,5,6,7],fruits:["苹果","香蕉","橘子","草莓"]
})//定义一个点击方法(js内容)
const onClick =()=>{alert("好运+1!")
}</script>


  • 使用简化写法。使用"@"代替v-on:



  • 将上面的v-for的数组变量动态渲染页面div盒子案例,再添加点击div盒子事件,然后网页弹窗提示点击的div盒子对应的数字。



<template><div><div style="background-color: darksalmon; font-size: 20px; font-weight: bold; font-style: italic; margin-bottom: 20px" >欢迎来到hyl的第一个Vue3项目主页!加油学习吧!</div><!--   div盒子横着排列 --><div style="display: flex;margin-bottom: 25px"><div v-on:click="show(item)" style="width: 300px;height: 300px;text-align:center;font-weight:bold;line-height:300px;background-color: chartreuse;margin-right: 10px" v-for="item in data.arr">{{item}}</div></div></div>
</template><script setup>import {reactive, ref} from "vue";//定义一个点击方法(js内容)
const onClick =()=>{alert("好运+1!")
}const show = (item) =>{alert(item)
}</script>

  • 这样每当点击div盒子时,就会拿到对应它渲染时的item值并传给show函数。在函数中拿到参数值后,在网页弹出提示!


(7)v-bind。(动态绑定属性)
  • 验证了HTML元素是可以被数据动态渲染的
  • 给一个div盒子绑定一个基础的css样式属性。



  • 将width(宽)、height(高)、backgroundColor(背景颜色)设置成data对象里的对象数据,通过v-bind动态绑定对象并完成指定的div盒子基础样式设置。


  • 将{'width':'100px','height':'100px','backgroundColor':'yellow'}替换成对象(data.box)。


  • 动态绑定基础样式成功渲染页面。


  • 可以使用简写(":")代替"v-bind"


  • 使用<img>标签动态绑定链接。渲染页面。
  • 图片地址:https://www.runoob.com/wp-content/uploads/2017/01/vue.png



  • 成功动态的渲染了图片的显示。因为以后data.img数据值肯定不是直接定义在对象data中的,而是存储在数据库中的。


(8)onMounted。(页面元素加载后触发)
  • 因为网页的所有元素加载并渲染出来是需要一点点时间的。
  • 如果想让网页的元素加载后,再执行某些操作时就需要用到。(实现渲染数据图、表时常用:渲染出页面数据图、表基本结构后,才会去数据库拿取数据完成剩下的渲染...)

  • 导入包。


  • onMounted(()=>{...})。(hook:钩子函数??)


  • 点击刷新按钮。当页面刷新后并加载完成就会弹出网页提示!点击确定后立马显示网页完整渲染。


相关文章:

Vue3实战学习(Vue3的基础语法学习与使用(超详细))(3)

目录 &#xff08;1&#xff09;Vue3工程环境准备、项目基础脚手架搭建详细教程。(博客链接) &#xff08;2&#xff09;Vue3的基础语法学习与使用。 &#xff08;1&#xff09;"{{}}"绑定数据。 <1>ref()函数定义变量——绑定数据。 <2>reactive({...})…...

使用websocket,注入依赖service的bean为null

问题&#xff1a;依赖注入失败&#xff0c;service获取不到&#xff0c;提示null 这是参考代码 package com.shier.ws;import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.google.gson.Gson; import com.s…...

批量在 Word 的指定位置插入页,如插入封面、末尾插入页面

我们经常会碰到需要在 Word 文档中插入新的页面的需求&#xff0c;比如在 Word 文档末尾插入一个广告页、给 Word 文档插入一个说明封面&#xff0c;在 Word 文档的中间位置插入新的页面等等。相信这个操作对于大部分小伙伴来说都不难&#xff0c;难的是同时给多个 Word 文档插…...

算法系列之滑动窗口

算法系列之滑动窗口 题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1:输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。 示例 2:输入: s "bbbbb"…...

【C#】详解C#中的内存管理机制

文章目录 前言一、C#内存管理的基本机制&#xff08;1&#xff09;托管堆&#xff08;Managed Heap&#xff09;&#xff08;2&#xff09;垃圾回收&#xff08;Garbage Collection&#xff09;&#xff08;3&#xff09;栈内存 二、 开发者需要主动管理的场景&#xff08;1&am…...

C/S架构与B/S架构

一、定义与核心区别 C/S架构&#xff08;Client/Server&#xff0c;客户端/服务器&#xff09; 客户端需安装专用软件&#xff08;如QQ、企业ERP系统&#xff09;&#xff0c;直接与服务器通信。服务器端通常包括数据库和业务逻辑处理1。特点&#xff1a;客户端承担部分计算任务…...

《DeepSeek MoE架构下,动态专家路由优化全解析》

在人工智能飞速发展的当下&#xff0c;模型架构的创新与优化始终是推动技术进步的关键力量。DeepSeek的混合专家模型&#xff08;MoE&#xff09;架构&#xff0c;以其独特的设计理念和卓越的性能表现&#xff0c;在大模型领域崭露头角。而其中的动态专家路由优化技术&#xff…...

Android双亲委派

下面是一份 Android 类加载器双亲委派机制的时序图示例&#xff0c;描述了当应用调用 loadClass() 时&#xff0c;各个加载器之间的委派过程。 #mermaid-svg-rBdlhpD2uRjBPiG8 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mer…...

go语言因为前端跨域导致无法访问到后端解决方案

前端服务8080访问后端8081这端口显示跨域了 ERROR Network Error AxiosError: Network Error at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:116:14) at Axios.request (webpack-internal:///./node_modules/axios/lib/core/A…...

Jmeter使用介绍

文章目录 前言Jmeter简介安装与配置JDK安装与配置JMeter安装与配置 打开JMeter方式一方式二 设置Jmeter语言为中文方法一&#xff08;仅一次性&#xff09;方法二(永久设置成中文) Jmeter文件常用目录 元件与组件元件组件元件的作用域元件的执行顺序第一个案例添加线程组添加 H…...

【商城实战(13)】购物车价格与数量的奥秘

【商城实战】专栏重磅来袭&#xff01;这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建&#xff0c;运用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用户、商品、订单等核心模块开发&#xff0c;再到性能优化、安全加固、多端适配&#xf…...

Spring使用@Scheduled注解的参数详解

在现代Java开发中&#xff0c;定时任务是一个常见的需求。Spring框架提供了Scheduled注解&#xff0c;让我们能够以简单、直观的方式定义和管理这些定时任务。接下来&#xff0c;我们来深入探讨这个注解的使用&#xff0c;以及它的参数都有哪些含义和作用。 Scheduled注解可以…...

【网络】HTTP协议、HTTPS协议

HTTP与HTTPS HTTP协议概述 HTTP(超文本传输协议):工作在OSI顶层应用层,用于客户端(浏览器)与服务器之间的通信,B/S模式 无状态:每次请求独立,服务器不保存客户端状态(通过Cookie/Session扩展状态管理)。基于TCP:默认端口80(HTTP)、443(HTTPS),保证可靠传输。请…...

【Windows下Gitbook快速入门使用】

Windows下Gitbook快速入门使用 1 工具安装1.1 Node.js下载安装1.1 环境变量1.2 npm配置1.3 安装gitbook 2 gitbook使用2.1 gitbook 无法执行2.2 gitbook常用命令 Gitbook是一个软件&#xff0c;使用Git和Markdown来编排书本&#xff1b; GitBook helps you pushlish beautiful …...

创建Electron35 + vue3 + electron-builder项目,有很过坑,记录过程

环境&#xff1a; node v20.18.0 npm 11.1.0 用到的所有依赖&#xff1a; "dependencies": {"core-js": "^3.8.3","vue": "^3.2.13","vue-router": "^4.5.0"},"devDependencies": {"ba…...

FPGA 实验报告:四位全加器与三八译码器仿真实现

目录 安装Quartus软件 四位全加器 全加器、半加器 半加器&#xff1a; 全加器&#xff1a; 四位全加器电路图 创建项目 半加器 全加器 四位全加器 代码实现 半加器 全加器 四位全加器 三八译码器 创建项目 代码展示 modelsim仿真波形图 四位全加器 三八译码…...

动态规划详解(二):从暴力递归到动态规划的完整优化之路

目录 一、什么是动态规划&#xff1f;—— 从人类直觉到算法思维 二、暴力递归&#xff1a;最直观的问题分解方式 1. 示例&#xff1a;斐波那契数列 2. 递归树分析&#xff08;以n5为例&#xff09; 3. 问题暴露 三、第一次优化&#xff1a;记忆化搜索&#xff08;Memoiza…...

前端学习——HTML

HTML VSCode常用快捷键HTML标签文本标签列表标签表格Form表单表单元素 块元素与行内元素新增标签 VSCode常用快捷键 代码格式化&#xff1a;ShiftAltF 向上或向下移动一行&#xff1a;AltUp或AltDown 快速复制一行代码&#xff1a;ShiftAltUp或者ShiftAltDown 快速替换&#x…...

12.【线性代数】——图和网络

十二 图和网络&#xff08;线性代数的应用&#xff09; 图 g r a p h { n o d e s , e d g e s } graph\{nodes, edges\} graph{nodes,edges}1.关联矩阵2. A A A矩阵的零空间&#xff0c;求解 A x 0 Ax0 Ax0 电势3. A T A^T AT矩阵的零空间&#xff0c;电流总结电流图结论 …...

[环境搭建篇] Windows 环境下如何安装repo工具

Windows 环境下如何安装repo工具 1. 安装前置依赖2. 配置Repo引导脚本方法一&#xff1a;通过Gitee镜像安装&#xff08;推荐&#xff09;方法二&#xff1a;通过清华镜像安装 3. 解决依赖问题4. 初始化Repo仓库5. 常见问题解决 前言&#xff1a; 在Windows环境下安装Repo工具需…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...