Vue-1-前端框架Vue基础入门之一

article/2025/8/1 17:24:08

文章目录

  • 1 Vue简介
    • 1.1 Vue的特性
    • 1.2 Vue的版本
  • 2 Vue的基础应用
    • 2.1 Vue3的下载
    • 2.2 Vue3的新语法
    • 2.3 vue-devtools调试工具
  • 3 Vue的指令
    • 3.1 内容渲染指令{{}}
    • 3.2 属性绑定指令v-bind
    • 3.3 事件绑定指令v-on
    • 3.4 双向绑定指令v-model
    • 3.5 条件渲染指令v-if
    • 3.6 列表渲染指令v-for
  • 4 参考附录

Vue是一套用于构建用户界面的前端框架。(1)数据驱动视图。(2)双向数据绑定。(3)MVVM。① 内容渲染指令{{}}② 属性绑定指令v-bind③ 事件绑定指令v-on④ 双向绑定指令v-model⑤ 条件渲染指令v-if⑥ 列表渲染指令v-for。

1 Vue简介

Vue是一套用于构建用户界面的前端框架

1.1 Vue的特性

(1)数据驱动视图
(2)双向数据绑定
(3)MVVM

(1)数据驱动视图
在使用了vue的页面中,vue会监听数据的变化,从而自动重新渲染页面的结构。当页面对应的后台数据发生变化时,页面会自动重新渲染!
注意:数据驱动视图是单向的数据绑定。

(2)双向数据绑定
在填写表单时,双向数据绑定可以辅助开发者在不操作DOM的前提下,自动把用户填写的内容同步到数据源中。

在网页中,form表单负责采集数据、Ajax负责提交数据。js数据的变化,会自动渲染到页面上。

页面上表单采集的数据发生变化时,会被vue自动获取到,并更新到js数据中。

(3)MVVM
MVVM是vue实现数据驱动视图和双向数据绑定的核心原理。
MVVM指的是Model、View和ViewModel,它把每个HTML页面都拆分成了这三个部分:

Model表示当前页面渲染时所依赖的数据源。
View表示当前页面所渲染的DOM结构。
ViewModel表示vue的实例,它是MVVM的核心。

ViewModel作为MVVM的核心,是它把当前页面的数据源(Model)和页面的结构(View)连接在了一起。

当数据源发生变化时,会被ViewModel监听到,ViewModel会根据最新的数据源自动更新页面的结构。
当表单元素的值发生变化时,也会被ViewModel监听到,ViewModel会把变化过后最新的值自动同步到Model数据源中。

1.2 Vue的版本

当前,vue共有3个大版本,其中:
1.x版本的vue几乎被淘汰,不再建议学习与使用。
2.x 版本的vue是目前企业级项目开发中的主流版本。
3.x 版本的vue于2020-09-19发布,生态还不完善,尚未在企业级项目开发中普及和推广。

2 Vue的基础应用

(1)导入vue.js的script脚本文件。
(2)在页面中声明一个将要被vue所控制的DOM区域。
(3)创建vue实例对象。

2.1 Vue3的下载

官方没有直接提供下载地址,用VUE脚本架或者VITE为初始项目。
按官方说法,使用CDN直接引用服务器上的即可:
在这里插入图片描述
浏览器直接打开上面CDN,默认会打开3.x最新版代码,直接右键另存为.js即可,名字叫vue.global.js。

2.2 Vue3的新语法

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Title</title><!-- 1、导入vue.js的script脚本文件 --><script src="./lib/vue.global.js"></script></head><body><!-- 2、声明将要被Vue控制的Dom区域 --><div id="app">{{ username }}</div><!-- 3、创建Vue实例并挂载到指定的Dom区域 --><script>Vue.createApp({data() {return {username:'lucy'}}}).mount('#app')</script></body>
</html>

在这里插入图片描述
使用了Vue3的新语法Vue.createApp(…).mount(…),这是Vue 3 Composition API风格的写法。

2.3 vue-devtools调试工具

3 Vue的指令

指令(Directives)是Vue为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构,Vue中的指令按照不同的用途可以分为如下6大类:
① 内容渲染指令
② 属性绑定指令
③ 事件绑定指令
④ 双向绑定指令
⑤ 条件渲染指令
⑥ 列表渲染指令

3.1 内容渲染指令{{}}

内容渲染指令用来辅助开发者渲染DOM元素的文本内容。
常用的内容渲染指令有如下3个:
(1)v-text,会覆盖元素内默认的值。
(2){{ }},专门用来解决v-text会覆盖默认文本内容的问题。这种{{ }}语法的专业名称是插值表达式(英文名为:Mustache)。

v-text指令和插值表达式只能渲染纯文本内容。
(3)v-html,把包含HTML标签的字符串渲染为页面的HTML元素。

在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Title</title><!-- 1、导入vue.js的script脚本文件 --><script src="./lib/vue.global.js"></script></head><body><!-- 2、声明将要被Vue控制的Dom区域 --><div id="app"><p v-text="username"></p><p v-text="gender">性别</p><hr><p>姓名:{{username}}</p><p>性别:{{gender}}</p><hr><p v-text="info"></p><p>{{info}}</p><p v-html="info"></p></div><!-- 3、创建Vue实例并挂载到指定的Dom区域 --><script>Vue.createApp({data() {return {username:'lucy',gender:'女',info:'<p style="color:red;font-size=18px">我爱学习</p>'}}}).mount('#app')</script></body>
</html>

在这里插入图片描述

3.2 属性绑定指令v-bind

如果需要为元素的属性动态绑定属性值,则需要用到v-bind属性绑定指令。
由于v-bind指令在开发中使用频率非常高,因此,vue官方为其提供了简写形式(简写为英文的:)。
在vue提供的模板渲染语法中,除了支持绑定简单的数据值之外,还支持Javascript表达式的运算。
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8"><title>Title</title><!-- 1、导入vue.js的script脚本文件 --><script src="./lib/vue.global.js"></script></head><body><!-- 2、声明将要被Vue控制的Dom区域 --><div id="app"><input type="text" v-bind:placeholder="tips"><hr><input type="text" :placeholder="tips"><hr><div>1+2的结果: {{ 1+2 }}</div><div>{{tips}}】的逆序 : {{ tips.split('').reverse().join('') }}</div></div><!-- 3、创建Vue实例并挂载到指定的Dom区域 --><script>Vue.createApp({data() {return {tips:'请输入你好'}}}).mount('#app')</script></body>
</html>

在这里插入图片描述

3.3 事件绑定指令v-on

(1)vue提供了v-on事件绑定指令,用来辅助程序员为DOM元素绑定事件监听。
(2)注意:原生DOM对象有onclick、oninput、onkeyup等原生事件,替换为vue的事件绑定形式后,分别为:v-on:click、v-on:input、v-on:keyup
(3)通过v-on绑定的事件处理函数,需要在methods节点中进行声明:
(4)由于v-on指令在开发中使用频率非常高,因此,vue官方为其提供了简写形式(简写为英文的@)。

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8"><title>Title</title><!-- 1、导入vue.js的script脚本文件 --><script src="./lib/vue.global.js"></script></head><body><!-- 2、声明将要被Vue控制的Dom区域 --><div id="app"><p>count的值为 {{ count }}</p><button v-on:click="add">+1</button><button @click="sub">-1</button><button @click="adds(2)">+2</button></div><!-- 3、创建Vue实例并挂载到指定的Dom区域 --><script>Vue.createApp({data() {return {count:0}},methods:{add(){this.count++;},sub(){this.count--;},adds(num){this.count+=num;}}}).mount('#app')</script></body>
</html>

在这里插入图片描述

3.4 双向绑定指令v-model

vue提供了v-model双向数据绑定指令,用来辅助开发者在不操作DOM的前提下,快速获取表单的数据。
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8"><title>Title</title><!-- 1、导入vue.js的script脚本文件 --><script src="./lib/vue.global.js"></script></head><body><!-- 2、声明将要被Vue控制的Dom区域 --><div id="app"><div>{{username}}</div><input v-model="username">双向绑定</imput><hr><input :value="username">单向绑定</input><hr><div>{{city}}</div><br><select v-model="city"><option value="">请选择城市</option><option value="1">兰州</option><option value="2">张掖</option><option value="3">平凉</option></select></div><!-- 3、创建Vue实例并挂载到指定的Dom区域 --><script>Vue.createApp({data() {return {username:"lucy",city:""}}}).mount('#app')</script></body>
</html>

在这里插入图片描述

3.5 条件渲染指令v-if

条件渲染指令用来辅助开发者按需控制DOM的显示与隐藏。
条件渲染指令有如下两个,分别是:
(1)v-if
v-if指令会动态地创建或移除 DOM 元素,从而控制元素在页面上的显示与隐藏;
如果在运行时条件很少改变,则使用v-if较好。
v-if可以单独使用,或配合v-else指令一起使用:

<p v-if="Math.random() > 0.5">随机数大于0.5</p>
<p v-else>随机数小于或等于0.5</p>

(2)v-show
v-show指令会动态为元素添加或移除style=“display: none;” 样式,从而控制元素的显示与隐藏;
如果需要非常频繁地切换,则使用v-show较好。

3.6 列表渲染指令v-for

vue提供了v-for列表渲染指令,用来辅助开发者基于一个数组来循环渲染一个列表结构。v-for指令需要使用item in items形式的特殊语法,其中:
items 是待循环的数组
item 是被循环的每一项

<!DOCTYPE html>
<html lang="en" ><head><meta charset="UTF-8"><title>Title</title><!-- 1、导入vue.js的script脚本文件 --><script src="./lib/vue.global.js"></script></head><body><!-- 2、声明将要被Vue控制的Dom区域 --><div id="app"><ul><li v-for="item in list">姓名是{{item.name}}</li></ul></div><!-- 3、创建Vue实例并挂载到指定的Dom区域 --><script>Vue.createApp({data() {return {list:[{id:1,name:'lily'},{id:2,name:'lucy'}],}}}).mount('#app')</script></body>
</html>

4 参考附录

参考vue基础入门
参考Vue.js 最新官方下载地址与项目导入
参考devtools的GitHub地址


http://www.hkcw.cn/article/onkxbiflLv.shtml

相关文章

Lighttpd CGI配置:404错误排查实录

目录 引言 编写测试程序 前端代码 后端代码 配置CGI模块&#xff08;mod_cgi&#xff09; 如何检查404错误 测试结果 ​编辑 结语 引言 在前面的测试中&#xff0c;我们将lighttpd移植到x210开发板中&#xff0c;今天学生报告说她在进行CGI程序测试时总是遭遇404错误…

卢昌海 | 质量的起源

注&#xff1a;本文为卢昌海 | 质量的起源五篇合辑。 公式巨多&#xff0c;未一一校排。 如有内容异常&#xff0c;请看原文。 卢昌海 | 质量的起源 &#xff08;一&#xff09; 一、引言 物理学是一门试图在最基本层次上理解自然的古老科学&#xff0c;其早期曾是哲学的一部…

5、设置时区、链接wifi

一、修改时区&#xff1a; 输入以下命名打开raspbian系统的设置界面 sudo raspi-config 如下图&#xff0c;通过键盘上下键&#xff0c;移动到第 5 步“localisation Options”&#xff0c;回车进入。 注:每个系统版本不一样&#xff0c;选择就不一样&#xff0c;我的是在第…

81、使用DTU控制水下灯光控制

基本思想:记录调试济南有人DTU控制水下灯光控制 一、首先连接dtu设备,进行供电模块的链接和RS-485控制水下探照灯 线头链接方方式示意图,供电线接入之后,要保证设备处于工作状态,如果设备在供电不处于工作状态,那可能火线和零线接反了,请重新接入; 将红色的线接入RS-4…

【js逆向】易车网某车辆对比信息X-sign

目标网址&#xff1a;aHR0cHM6Ly9jYXIueWljaGUuY29tL2JpeWFkaWUyL3BlaXpoaS8 f12刷新网页查看数据接口 断点调试&#xff1a; 我们的目标网址是 param/get_param_details, 用条件断点 e.url.includes(param/get_param/details) 向上跟栈&#xff0c;这里X-Sign已经生成&#x…

基于TMC5160堵转检测技术的夹紧力控制系统设计与实现

点击下面图片带您领略全新的嵌入式学习路线 &#x1f525;爆款热榜 90万阅读 1.6万收藏 一、技术背景与系统原理 在工业自动化领域&#xff0c;夹紧力控制是精密装配、机床夹具等场景的核心需求。传统方案多采用压力传感器伺服电机的闭环控制方式&#xff0c;但存在系统复杂…

青岛红狮主教练马永康下课 球队保级压力增大

北京时间5月31日晚,2025赛季中甲第11轮多场比赛展开,广西平果在主场迎战青岛红狮。比赛前,两队分别位于中甲积分榜的倒数第一和第二位。上半场马特乌斯为广西平果打破僵局,下半场双方均未能改写比分。最终,广西平果以1-0战胜青岛红狮,取得联赛首胜并保持了两轮不败,而青…

Maven(黑马)

Maven 是一个强大的项目管理和构建自动化工具&#xff0c;主要用于 Java 项目的构建、依赖管理和文档生成。它通过使用 POM&#xff08;Project Object Model&#xff09;文件来管理项目的配置和依赖关系&#xff0c;从而实现项目的自动化构建和管理。以下是 Maven 的一些核心概…

项目练习:element ui 的icon放在button的右侧

文章目录 一、需求描述二、左侧实现三、右侧实现 一、需求描述 我们知道&#xff0c;element ui的button一般都会配置一个icon 这个icon默认是放在左侧的。 如何让它放在右侧了&#xff1f; 二、左侧实现 <el-buttontype"primary"plainicon"el-icon-d-arr…

大连一景区日撒1000斤蚬子 吸引游客赶海乐

近两日,多名网友分享了在辽宁省大连市夏家河子海滨浴场偶遇工作人员开着铲车、三轮车给游客撒蚬子赶海的情景。景区回应称,在沙滩上撒蚬子是为了让赶海的游客都能挖到东西。这两天,景区每天需要撒约1000斤的蚬子。此外,还有巴掌大的鲍鱼和海螺,如果游客捡到可以兑换礼品。…

位运算 #常见位运算总结 #题解

系列文章目录 leetcode - 双指针问题_leetcode双指针题目-CSDN博客 leetcode - 滑动窗口问题集_leetcode 滑动窗口-CSDN博客 高效掌握二分查找&#xff1a;从基础到进阶-CSDN博客 leetcode - 前缀和_前缀和的题目-CSDN博客 动态规划 - 斐波那契数列模型-CSDN博客 目录 系…

openpnp - 给M4x0.7mm的直油嘴加油的工具选择

文章目录 openpnp - 给M4x0.7mm的直油嘴加油的工具选择概述如果换上带卡口的M4x0.7直油嘴END openpnp - 给M4x0.7mm的直油嘴加油的工具选择 概述 X导轨用了一个HG15的滑块 滑块上的注油口的黄油嘴是M4x0.7mm的直油嘴。 外表面是6边形的柱子&#xff0c;没有可以卡住加油嘴工…

SSL/TLS 协议详解:安全通信的基石

一、概述 SSL&#xff08;Secure Sockets Layer&#xff09; 及其继任者 TLS&#xff08;Transport Layer Security&#xff09; 是位于 传输层&#xff08;TCP&#xff09;与应用层之间 的加密协议&#xff0c;用于在网络通信中实现 机密性、身份认证和数据完整性。 核心目标…

象棋里的卧槽马、侧面虎、金钩马的方位与解析

在中国象棋里&#xff0c;根据马的方位&#xff0c;有不同的称谓&#xff0c;比如卧槽马、侧面虎、金钩马&#xff1b;车也是一样&#xff0c;比如有肋车、沉底车、相位车等。     按照《象棋攻防与口诀》的"边炮车砍象&#xff0c;三七马肋车"口诀&#xff0c;这里…

内存管理 : 05 内存换入-请求调页

操作系统内存换入 - 请求调页讲解 这一讲主要内容是内存的换入&#xff0c;下一讲要讲内存的换出&#xff08;swap out&#xff09;&#xff0c;这两讲合在一起就是内存的换入换出。讲完内存的换入换出&#xff0c;操作系统关于内存管理这部分内容&#xff0c;也就是我们课程里…

任务23:创建天气信息大屏Django项目

任务描述 知识点&#xff1a; Django 重 点&#xff1a; Django创建项目Django视图函数Django路由Django静态文件Django渲染模板 内 容&#xff1a; 使用PyCharm创建大屏项目渲染大屏主页 任务指导 1. 使用PyCharm创建大屏项目。 创建weather项目配置虚拟环境创建ch…

回溯算法!!

只要有递归就会有回溯&#xff0c;回溯隐藏在递归函数的下面 回溯算法是回溯搜索算法&#xff0c;是纯暴力的搜索算法 一般用于解决以下问题 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合&#xff0c;组合是不强调元素顺序的&#xff0c;排列是强调元素顺序。切…

算法学习--持续更新

算法 2025年5月24日 完成&#xff1a;快速排序、快速排序基数优化、尾递归优化 快排 public class QuickSort {public void sort(int[] nums, int left, int right) {if(left>right){return;}int partiton quickSort(nums,left,right);sort(nums,left,partiton-1);sort(nu…

类和对象(4)

&#xff08;本文是《类和对象》的收尾&#xff09; 一.构造函数初始化的逻辑 1.构造函数的初始化列表使用说明 初始化列表是以冒号开头、逗号分隔成员变量的初始化方式&#xff0c;格式为&#xff1a; 构造函数() : 成员1(初始值), 成员2(表达式…

大规模真实场景 WiFi 感知基准数据集

一段话总结 本文提出CSI-Bench,首个大规模真实场景WiFi感知基准数据集,覆盖26个室内环境、35名用户、16种商用设备,包含461小时有效数据,支持跌倒检测、呼吸监测、定位、运动源识别等单任务及用户身份、活动、 proximity联合标注的多任务学习。通过标准化评估协议和基线模…