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:钩子函数??)


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


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

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

相关文章

vtkDepthSortPolyData 根据相机视图方向对多边形数据进行排序

1. 作用 在 3D 渲染中&#xff0c;透明对象的渲染顺序非常重要。如果透明对象的渲染顺序不正确&#xff0c;可能会导致错误的视觉效果&#xff08;例如&#xff0c;远处的透明对象遮挡了近处的透明对象&#xff09;。vtkDepthSortPolyData 通过对多边形数据进行深度排序&#…

【2025力扣打卡系列】0-1背包 完全背包

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为python3&#xff0c;Day5 0-1背包【目标和】 有n个物品&#xff0c;第i个物品的体积为w[i], 价值为v[i]。每个物品至多选一个&#xff0c;求体积和不超过capacity时的最大价值和常见变形 至多装capacity&#x…

MyBatis-Plus 分页查询接口返回值问题剖析

在使用 MyBatis-Plus 进行分页查询时,很多开发者会遇到一个常见的问题:当分页查询接口返回值定义为 Page<T> 时,执行查询会抛出异常;而将返回值修改为 IPage<T> 时,分页查询却能正常工作。本文将从 MyBatis-Plus 的分页机制入手,详细分析这一问题的根源,并提…

《人月神话》:软件工程的成本寓言与生存法则

1975年&#xff0c;Fred Brooks在《人月神话》中写下那句振聋发聩的断言——“向进度落后的项目增加人力&#xff0c;只会让进度更加落后”——时&#xff0c;他或许未曾料到&#xff0c;这一观点会在半个世纪后的人工智能与云原生时代&#xff0c;依然如达摩克利斯之剑般悬在每…

三维建模与视频融合(3D-Video Integration)技术初探。

三维建模与视频融合&#xff08;3D-Video Integration&#xff09;是一种将虚拟三维模型无缝嵌入实拍视频场景的技术&#xff0c;广泛应用于影视特效、增强现实&#xff08;AR&#xff09;、游戏开发、广告制作 、视频监控 等领域。 一、技术核心流程 三维建模与动画 使用工具…

SpringMVC-全局异常处理

文章目录 1. 全局异常处理2. 项目异常处理方案2.1 异常分类2.2 异常解决方案2.3 异常解决方案具体实现 1. 全局异常处理 问题&#xff1a;当我们在SpingMVC代码中没有对异常进行处理时&#xff0c;三层架构的默认处理异常方案是将异常抛给上级调用者。也就是说Mapper层报错会将…

2025 cv2.imwrite存储带有中文路径

一、前言 cv使用的更多一些&#xff0c;不过cv读取和写入带有中文路径的图片会报错有写出乱码。 以下代码是从视频中获取第2帧保存在中文文件夹下的实例&#xff1a; cap cv2.VideoCapture("***.mp4")cap.set(cv2.CAP_PROP_POS_FRAMES, 2)ret, framecap.read()cv2…

在 CentOS 上,常用几种方法来确保 Python 脚本在断开终端后继续运行

在 CentOS 上&#xff0c;你可以使用以下几种方法来确保 Python 脚本在断开终端后继续运行&#xff1a; 1. 使用 nohup 命令 nohup 命令可以让进程在终端关闭后继续运行。 nohup python main.py > output.log 2>&1 &nohup&#xff1a;忽略挂断信号&#xff0c…

blazemeter工具使用--用于自动生成jmeter脚本并进行性能测试

1、安装blazemeter&#xff08;网上有很多详情的教程&#xff09; 2、开始录制&#xff1a;设置号你的文件名称后开始录制 3、录制完成后保存为jmeter(jmx)文件 4、在jmeter中打开文件 5、添加一个后置处理器&#xff1a;查看结果树&#xff0c;后运行看看能否成功&#xf…

6-langchang多模态输入和自定义输出

6-langchang多模态输入和自定义输出 多模态数据输入urlbase64url list工具调用自定义输出: JSON, XML, YAML如何解析 JSON 输出json如何解析xmlYAML解析器多模态数据输入 这里我们演示如何将多模态输入直接传递给模型。我们目前期望所有输入都以与OpenAI 期望的格式相同的格式…

【C#实现手写Ollama服务交互,实现本地模型对话】

前言 C#手写Ollama服务交互&#xff0c;实现本地模型对话 最近使用C#调用OllamaSharpe库实现Ollama本地对话&#xff0c;然后思考着能否自己实现这个功能。经过一番查找&#xff0c;和查看OllamaSharpe源码发现确实可以。其实就是开启Ollama服务后&#xff0c;发送HTTP请求&a…

【C#学习笔记02】基本元素与数据类型

引言 深入了解C语言的基本元素、计算机存储器结构、常量与变量的概念以及数据类型。这些内容是C语言编程的基础&#xff0c;掌握它们对于编写高效、可靠的嵌入式程序至关重要。 1.C语言的基本元素 ​编程语言的发展离不开自然语言&#xff0c;所以编程语言的语法和词汇也是由…

ESP8266TCP客户端(单连接TCP Client)

单连接TCP Client 电脑作为服务器&#xff0c;8266作为客户端 1.配置WiFi模式 ATCWMODE3 //softAPstation mode 相应&#xff1a;ok 2.连接路由器 ATCWJAP“SSID”&#xff0c;“password” //SSID就是wifi的名字&#xff0c; password WIFI密码 响应&#xff…

洛谷 P2234:[HNOI2002] 营业额统计 ← STL set

【题目来源】 https://www.luogu.com.cn/problem/P2234 【题目描述】 Tiger 最近被公司升任为营业部经理&#xff0c;他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger 拿出了公司的账本&#xff0c;账本上记录了公司成立以来每天的营业额。分析…

VSCode 2025最新前端开发必备插件推荐汇总(提效指南)

&#x1f31f;前言: 如果你是一名前端开发工程师&#xff0c;合适的开发工具能大大提高工作效率。Visual Studio Code (VSCode) 凭借其轻量级、高扩展性的特点&#xff0c;已成为众多前端开发者在win系电脑的首选IDE。 名人说&#xff1a;博观而约取&#xff0c;厚积而薄发。—…

Java学习--Redis

官网&#xff1a;https://redis.io 中文网&#xff1a;Redis中文网 Redis安装包分为 Windows 版和 Linux 版&#xff1a; Windows版下载地址&#xff1a;Releases microsoftarchive/redis GitHub Linux版下载地址&#xff1a; Index of /releases/ 一、Redis简介 Redis是…

matlab慕课学习3.2+3.3

于20250310 3.2用if语句实现选择结构 3.2.1什么是选择结构 用if 语句和switch语句可实现选择结构 3.2.2单分支if语句 if 条件语句组 %可以是一条也可是多条end 当条件为标量&#xff0c;非0表成立&#xff0c;0表示不成立。 当条件为矩阵时&#xff0c;矩阵非空&#xff…

JavaScript性能优化:DOM操作优化实战

JavaScript性能优化&#xff1a;DOM操作优化实战 一 重排与重绘的代价 问题场景 用户点击按钮后&#xff0c;需要动态生成一个包含10,000个选项的下拉列表&#xff0c;但界面出现长达5秒的冻结。 错误代码示例 function createList() {const ul document.getElementById(…

【Java学习】包装类

面向对象系列九 包装类变量 一、装箱 1.实例化包装对象 2.静态缓存池 3.写法 二、拆箱 包装类变量 每个基本数据类型都有对应的基本类型的包装类变量&#xff0c;将基本数据类型通过对应的包装类对象载入着进入到类与对象面向对象体系 一、装箱 Integer.valueOf(int) —…

【第22节】C++设计模式(行为模式)-Iterator(迭代器)模式

一、问题背景 Iterator 模式是设计模式中最为常见和实用的模式之一。它的核心思想是将对聚合对象的遍历操作封装到一个独立的类中&#xff0c;从而避免暴露聚合对象的内部表示。通过 Iterator 模式&#xff0c;我们可以实现对聚合对象的统一遍历接口&#xff0c;而不需要关心聚…