Vue的学习 —— <初识vue>

news2025/1/16 17:58:24

目录

前言

目标

前端的发展历程

正篇开始——Vue讲解

一、Vue简介

二、Vue特性

1、数据驱动视图

2、双向数据绑定

3、指令

4、插件

三、vue的三大版本


前言

在这个快速迭代的互联网时代,前端技术的发展日新月异,Vue.js的出现无疑为前端开发领域注入了新的活力。对于初学者而言,Vue.js的魅力在于它能够以最少的学习成本,实现丰富的功能与优雅的代码结构。本篇文章,《初识Vue》,正是为了引领每一位前端探索者,踏入Vue.js的奇妙世界,从零开始,逐步揭开它的神秘面纱。

目标

  • 了解前端技术的发展,能够说出使用框架开发项目的优势

  • 了解什么是Vue,能够说出Vue的基本概念

  • 了解Vue的特性,能够说出Vue的4个特性

  • 了解Vue的版本,能够说出Vue 2和Vue3的区别

前端的发展历程

在前端开发的领域中,HTML、CSS和JavaScript扮演着基石的角色。HTML,作为内容的骨架,为页面构建了稳固的结构,CSS则为这副骨架赋予了华丽的衣裳,使得页面在视觉上更具吸引力,而JavaScript则赋予了页面生命,处理用户与页面间的交互行为。

  • HTML —— 骨架
  • CSS   —— 衣服
  • JS —— 用户页面交互

当项目规模逐渐扩大,涉及的交互愈加复杂时,开发者往往需要处理大量的JavaScript代码,以操作文档对象模型(DOM)并应对浏览器的兼容性问题。为了简化这一过程,jQuery应运而生。它不仅提供了一个高效的查询选择器引擎,能够快速定位DOM元素,还为解决不同浏览器间的JavaScript兼容性问题提供了隐式的解决方案。因此,jQuery受到了广大开发者的热烈欢迎。其核心思想在于让开发者用更少的代码实现更多的功能。

  • 交互增多 —— 大量JS代码 —— jQuery(兼容性问题)

随着移动互联网的兴起,前端技术也延伸到了移动端开发领域。为了更好地满足用户的体验需求,移动端网页通常采用单页Web应用(Single Page Web Application)的形式。与传统的网页不同,单页Web应用仅需加载一个HTML页面,用户在浏览过程中无需因点击而重新加载页面。尽管名字中有“单页”二字,但这并不意味着应用的功能受限。开发者可以利用Ajax等技术实现逻辑上的页面切换效果,为用户带来流畅的使用体验。单页Web应用将所有的功能局限于一个Web页面中,仅在该页面的初始化时加载相应的资源(必要的HTML、CSS和JavaScript代码)。在页面加载完成后,所有的操作都在这个页面上完成,且不会因用户的操作而进行页面的重新加载或跳转,而是利用JavaScript动态地变换页面的内容,从而实现页面与用户的交互。

  • 互联网兴起 —— 移动端 —— Web页面 —— 更好的交互
  • 单页web页面的优点
  1. 良好的交互体验。在单页Web应用中,内容的改变不需要重新加载整个页面,响应速度更快。
  2. 良好的前后端分离开发模式。后端专注于提供API,更容易实现API的复用。
  3. 减轻服务器的压力。单页Web应用中的数据是通过Ajax获取的,不需要重新加载,服务器的压力较小。
  • 单页web页面的问题
  1. 首屏加载慢,在首次加载时需要将页面中所用到的资源全部加载。

  2. 不利于搜索引擎优化(Search Engine Optimization,SEO)。对于单页Web应用,搜索引擎请求到的HTML页面可能不是包含所有数据的最终渲染页面,这样就很不利于内容被搜索引擎搜索到。

随着技术的进步,上述问题已经有了相应的解决方案。对于第1个问题,可以通过路由懒加载、代码压缩、网络传输压缩等方式解决;对于第2个问题,可以通过服务器端渲染(Server-Side Rendering,SSR)技术解决。至于这些解决方案的实施,Vue.js已经默默帮我们解决了。

  • ①首屏加载慢②不利于搜索引擎优化 —— vue.js

为了进一步提高开发效率,许多基于MVVM模式的前端开发框架涌现出来,如Angular、React和Vue等。这些框架将重心放在数据与视图的关系上,使开发者更多地关注业务逻辑的处理,从而减少了手动操作DOM的需要。它们还为开发者提供了一套规范,确保项目按照既定的规则进行。与jQuery相比,使用这些框架的项目在开发效率、可维护性、可扩展性和性能等方面都有着显著的优势。

在Angular、React和Vue这三者中,Vue以其体积小巧、易于上手和高度灵活的特点脱颖而出。

正篇开始——Vue讲解

一、Vue简介

Vue(读音:/Vjuː/)是一款用于构建用户界面的渐进式框架。其中,“渐进式”是指在使用Vue核心库时,可以在核心库的基础上根据实际需要逐步增加功能。

使用Vue进行项目开发具有以下优势:

  • 轻量级。Vue是一个轻量级的前端开发框架,文件体积小。

  • Vue项目基于JavaScript语言开发,开发者不用单独学一门陌生的语言,从而降低了学习的门槛。

  • Vue在使用上比较灵活,开发人员可以选择使用Vue开发一个全新项目,也可以将Vue引入现有项目。

  • Vue通过虚拟DOM技术减少对DOM的直接操作,并通过尽可能简单的API来实现响应的数据绑定,可支持单向和双向数据绑定。

  • Vue支持组件化开发,可提高项目的开发效率和可维护性,使代码更易于复用,便于团队的协同开发。

  • Vue可以与前端开发中用到的一系列工具以及各种支持库结合使用,以实现前端工程化开发,从而提高了项目的开发效率,降低了大型项目的开发难度。

Vue是基于MVVM模式的框架。MVVM主要包含Model(数据模型)、View(视图)和ViewModel(视图模型)。其中,Model是指数据部分,负责业务数据的处理;View是指视图部分,即用户界面,负责视图处理;ViewModel用于连接视图与数据模型,负责监听Model或者View的改变。

View和Model不能直接通信,它们需要借助ViewModel才能进行通信。ViewModel相当于一个观察者,监控着View和Model的动作,实现了View与Model的解耦。ViewModel 包含 DOM Listeners 和 Data Bindings。其中,DOM Listeners 用于监听View中DOM变化,并在DOM变化时通知Model做出相应的修改;Data Bindings用于监听Model中的数据变化,并在数据变化时通知View做出相应的修改。

二、Vue特性

1、数据驱动视图

在使用Vue的页面中,Vue会监听数据变化,当页面数据发生变化时,Vue会自动重新渲染页面结构,如下图所示:

2、双向数据绑定

Vue实现了双向数据绑定,即当数据发生变化时,视图也会发生变化;当视图发生变化时,数据也会跟着同步变化。

例如,用户在填写表单时,双向数据绑定可以辅助开发者在无须手动操作DOM的前提下,自动同步用户填写的内容数据,从而获取表单元素最新的值。

3、指令

指令主要包括内置指令和自定义指令,内置指令是Vue本身自带的指令,而自定义指令是由用户自己定义的指令。

指令的名称以“v-”开头,作用于HTML中的元素。将指令绑定在元素上时,指令会给绑定的元素添加一些特殊的行为。

例如,v-bind指令用于实现单向数据绑定,v-if指令用于实现页面条件渲染,v-for指令用于实现页面列表渲染等。

4、插件

Vue支持插件,通过加载插件可以实现更多的功能。常用的插件有Vue Router(路由)、Vuex(状态管理库)、Pinia(轻量级状态管理库)等,这些插件经过简单配置就可以使用。

三、vue的三大版本

目前,Vue共有3个大版本,分别是Vue 1、Vue 2和Vue 3。其中,Vue 1几乎被淘汰,不建议学习与使用;Vue 2和Vue 3目前被广泛应用,并且Vue 3将会逐步替代Vue 2。

Vue 3支持Vue 2中绝大多数的API与特性,同时Vue 3还新增了一些特有的功能,并废弃了Vue 2中的一些旧功能。Vue 3新增的功能包括组合式(Composition)API、多根节点组件等;废弃的旧功能包括过滤器(Filter)以及$on()、$off()和$once()实例方法等。虽然从表面上看,Vue 3和Vue 2的使用方式没有太大的差异,但Vue 3的底层代码发生了很大变化,包括渲染、数据监听、双向绑定、生命周期等。

Vue 3的新特性如下:

  • 体积更小,采用按需编译的方式编译出来的文件体积比Vue 2的小。

  • 性能提升,运行速度比Vue 2快1.5倍左右。

  • 具有更好的TypeScript支持。

  • 暴露了更底层的API,可以通过多种方式组织代码,代码使用上更加灵活。

  • 提供了更先进的组件。Vue创建了一个虚拟的Fragment节点,允许组件中有多个根节点。

  • 提供组合式API,能够更好地组合逻辑、封装逻辑、复用逻辑。

为了提高开发效率,开发者可以在项目中添加UI组件库。UI组件库可以理解成一个可重复使用的界面设计元素的集合体,使用它可以更快速地开发用户界面。

目前,主流UI组件库都已经发布了支持Vue 3的版本,常用的UI组件库如下:

  • Echarts组件库:一个基于JavaScript的开源可视化图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器。

  • Element Plus组件库:一款基于Vue 3的桌面端组件库。

  • Vant组件库:一款开源移动端组件库,它从3.0版本开始支持Vue 3。

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

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

相关文章

普华永道:首席数据官在规模较小企业中的渗透率攀升

5月13日,普华永道发布第三期《全球首席数据官调研》显示,数据持续受到企业高层重视,用于解决最紧迫的公共问题,且首席数据官在规模较小的企业中的渗透率攀升。 调研发现,2023年,全球市值排名前2500家上市企…

探索制造业中 AI 人工智能与 MES 的协同效应

AI已经渗透到我们日常生活中的各种工具中——从语音助手到语言翻译,以及允许我们从图片、手写笔记中提取结构化数据的工具。AI还为许多流程自动化提供动力,纾解管理、物流、会计和人力资源部门员工的工作量和压力。 AI、物联网和新兴的超高速网络&#…

秒懂k8s中资源的介绍和用法

service介绍 解决什么问题 Pod的生命是有限的,死亡过后不会复活了,尽管每个Pod都有自己的IP地址,但是如果Pod重新启动了的话那么他的IP很有可能也就变化了。这就会带来一个问题:比如我们有一些后端的Pod的集合为集群中的其他前端…

shell脚本之函数和数组

目录 一.函数 1.函数的简介 2.函数具有的几个要素 3.定义函数 4.调用函数 5.传递参数 6.函数返回值 7.函数的变量作用范围 8.函数递归 9.查看函数 二.数组 1.数组简介 2.定义数组 3.数组索引 4.数组替换 一.函数 1.函数的简介 在Shell脚本中,函数是…

网络传输,请每次都开启 TCP_NODELAY

原文:Marc Brooker - 2024.05.09 (注:不必过于担心这个问题,大部分现代库,语言(如 Go),代理(如 Envoy),都默认设置了 TCP_NODELAY。如果遇到网络…

ubuntu编译pcl时报错

报错如下 cc1plus: warning: -Wabi wont warn about anything [-Wabi] cc1plus: note: -Wabi warns about differences from the most up-to-date ABI, which is also used by default cc1plus: note: use e.g. -Wabi11 to warn about changes from GCC 7 在网上找到了一封邮件…

深度剖析进程概念与进程状态

文章目录 1. 前言2. 什么是进程2.1 进程概念2.2 进程描述——PCB 3. 进程的一些基本操作3.1 查看进程3.2 结束进程3.3 通过系统调用获取进程标示符3.4 通过系统调用创建子进程 4. 进程状态4.1 普适的操作系统层面4.2 具体Linux操作系统层面 5. 两种特殊的进程5.1 僵尸进程5.2 孤…

2024第二届区块链、物联网与金融管理国际会议(ICBITFM2024)

2024第二届区块链、物联网与金融管理国际会议(ICBITFM2024) 会议简介 2024第二届区块链、物联网与金融管理国际会议(ICBITFM 2024)是一个重要的学术会议,旨在促进区块链、物联网和金融管理领域的交流和合作,对于推动这些领域的发展和创新具有重要意义。…

云商店如何让更多企业摘到技术普惠的“果实”?

文 | 智能相对论 作者 | 沈浪 现阶段,越是工业体系发达的地区,越需要加速技术普惠的步伐。比如,在苏州,华为云就在联合当地政府、企业伙伴打造以华为云云商店为重要链接的智能化商业增长底座。 华为云云商店以“电商式”的购物…

vue自定义权限指令

定义v-hasPermi指令 /*** v-hasPermi 操作权限处理*/import useUserStore from /store/modules/userexport default {mounted(el, binding, vnode) {const { value } bindingconst all_permission "*:*:*";const permissions useUserStore().permissions&#xff…

[IMX6ULL驱动开发]-GPIO子系统和Pinctrl子系统

目录 Pinctrl子系统的概念 GPIO子系统的概念 定义自己的GPIO节点 GPIO子系统的函数 引脚号的确定 基于GPIO子系统的驱动程序 驱动程序 设备树修改 之前我们进行驱动开发的时候,对于硬件的操作是依赖于ioremap对寄存器的物理地址进行映射,以此来达…

VRRP协议-负载分担配置【分别在路由器与交换机上配置】

VRRP在路由器与交换机上的不同配置 一、使用路由器实现负载分担二、使用交换机实现负载分担一、使用路由器实现负载分担 使用R1与R2两台设备分别进行VRRP备份组 VRRP备份组1,虚拟pc1的网关地址10.1.1.254 VRRP备份组2,虚拟pc2的网关地址10.1.1.253 ①备份组1的vrid=1,vrip=…

图片压缩工具,这三款软件简单好用!

在数字化时代,图片已成为我们生活和工作中不可或缺的一部分。无论是社交媒体上的分享,还是工作中的文件传输,图片都扮演着重要的角色。然而,随着图片质量的提高,其占用的存储空间也越来越大,这给我们的存储…

ChatGPT官网5月14日凌晨1点发布会推出最新GPT4o大模型,贾维斯时刻要来了?

就在今天北京时间2024年5月14日凌晨1点中,OpenAI进行了发布会,这次发布会的内容炸裂,一起来看下吧! GPT4o多模态大模型发布 首先公开的是GPT4o多模态大模型的发布,相较于GPT-4turbo速度更快,更便宜。我刚开…

OIDC 与 OAuth2.0学习

OpenID Connect (OIDC) 和 OAuth 2.0 是两种不同的协议,它们通常一起使用,但服务于不同的目的。下面是它们的 主要区别和联系: OAuth 2.0 OAuth 2.0 是一个授权框架,它允许第三方应用代表用户获取对服务器资源的有限访问权限。…

深度践行“IaaS on DPU”理念,中科驭数正式发布“驭云”高性能云异构算力解决方案

5月10日至14日,由国家发展改革委联合国务院国资委、市场监管总局、国家知识产权局共同主办的第八届中国品牌日活动在上海世博展览馆举行。中科驭数高级副总裁张宇在中国品牌日新品首发首秀环节正式发布驭云高性能云异构算力解决方案,为企业提供更快部署、…

AWS ECS On Fargate 监控可观测最佳实践

概述 Amazon ECS on Fargate 为用户提供了简单、高效且可靠的容器化解决方案,使用户能够专注于应用程序开发和运行,而无需担心基础设施管理的复杂性。与其同时,用户需要实时了解在该环境中应用程序运行的性能、可用性、健康状况和资源使用情…

虾皮选品:Shopee首季盈利2.4亿;TikTok美区电商权限要求降低

2024年5月14号,跨境电商日报: 1.Ozon已成功回款 2.TikTok降低美区达人开通电商权限要求 3.Shopee首季盈利2.4亿 4.6月1日起,亚马逊退货处理费收取标准更新 5.欧盟委员会对从中国台湾地区和越南进口的不锈钢冷轧产品征收反补贴和反倾销税…

[Cesium]Cesium基础学习——Primitive

Cesium开发高级篇 | 01空间数据可视化之Primitive - 知乎 Primitive由两部分组成:几何体(Geometry)和外观(Appearance)。几何体定义了几何类型、位置和颜色,例如三角形、多边形、折线、点、标签等&#xf…

最佳实践 | 用HelpLook构建一体化企业知识中台

企业知识中台是内容与数据的双向交流的重要载体,它不仅能够让企业的内容说话,也能够倾听和分析数据。 你是否因寻找建立企业内部知识库/知识中台和说明文档平台的合适工具而苦恼?HelpLook数字内容平台正是你的理想之选。该平台以其简洁且用户…