Vue 是什么?
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战(已更新的所有项目都能学习) / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新开坑项目:《Spring AI 项目实战(问答机器人、RAG 增强检索、联网搜索)》 正在持续爆肝中,基于
Spring AI + Spring Boot 3.x + JDK 21...
,点击查看 ; - 《从零手撸:仿小红书(微服务架构)》 已完结,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ; 演示链接: http://116.62.199.48:7070/ ; - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/
截止目前, 星球 内专栏累计输出 100w+ 字,讲解图 4149+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 3700+ 小伙伴加入学习 ,欢迎点击围观
Vue 是什么?
大家好,我是小哈!
在开始学习 Vue 3 之前,让我们先弄清楚它是什么,又能为我们做些什么?
Vue (发音为
/vjuː/
,类似 view) 是一款用于构建用户界面的 JavaScript 渐进式框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、响应式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以轻松搞定。
上面这句话中,包含了多个非常重要的关键词:“构建用户界面”、“渐进式”、“声明式”、“响应式”、“组件化”。让小哈来一一拆解!
小哈来一一拆解
构建用户界面
想象一下,任何一个在浏览器中运行的应用,无论是简单的待办事项清单 (TodoList
),还是复杂的在线办公软件,其本质都是由一个个按钮、列表、输入框、弹窗等视觉元素组合而成的。这些元素共同构成了我们与应用程序交互的界面(UI)。
通过 Vue 3 构建用户界面
Vue 的核心职责,就是帮助我们高效、便捷地动态构建和管理这些用户界面。当页面中的数据发生变化时(比如用户点击了一个按钮,或者从服务器收到了新消息),Vue 会自动、高效地更新对应的界面部分,而我们开发者无需再费心费力地手动操作 DOM(文档对象模型)。这让我们可以更专注于业务逻辑本身。
渐进式
渐进式学习 Vue 3
“渐进式” 是 Vue 最区别于其他大型框架的特色,也是它如此受欢迎的关键原因。
这意味着 Vue 可以被逐步地采用,就像上台阶一样,你可以根据项目的需求和复杂度,决定如何使用它:
- 第一阶:轻量嵌入 - 如果你只是一个简单的页面,希望增加一些交互,你可以像引入一个
jQuery
库一样,通过<script>
标签直接引入 Vue。它就能立即生效,帮你处理一些动态渲染和交互。 - 第二阶:完整应用 - 如果你想构建一个功能丰富的单页面应用 (SPA - Single Page Application),你可以使用 Vue 的核心库及其周边的路由、状态管理等官方库来全面地组合成一个完整的框架。
- 第三阶:复杂系统 - 对于超大型的、需要多人协作的项目,你还可以使用基于 Vue 的构建工具(如 Vite)和先进的语法(如单文件组件和组合式 API),来获得更好的开发体验和项目可维护性。
这种 “渐进式” 的设计,意味着你学习多少,就用多少。入门门槛极低,但天花板又非常高,能够轻松应对各种复杂的业务场景。它不会在你项目初期就强迫你接受一整套复杂的约定和配置,给予了开发者极大的灵活性。
声明式、响应式
在传统的方式中,我们要操作一个 <div>
的显示内容,可能会这样做(命令式编程):
// 1. 找到这个元素
const divElement = document.getElementById('myDiv');
// 2. 命令式地修改它的文本内容
divElement.innerText = '犬小哈教程!';
而使用 Vue,我们采用声明式的写法:
<!-- 在 HTML 模板中,我们直接声明它应该显示什么 -->
<div>{{ message }}</div>
// 在 JavaScript 中,我们只需要管理数据
const app = {
data() {
return {
message: '犬小哈教程!' // 当修改这里的数据时,视图会自动更新(响应式)
}
}
}
Vue.createApp(app).mount('#app');
我们不再直接命令浏览器 “去做什么”,而是声明 “我们希望界面是什么样子”。Vue 这个 “帮手” 会自动帮我们完成 DOM 操作,将声明的内容变为现实。当底层数据 message
改变时,界面会自动响应式的同步更新。这极大地简化了代码,让逻辑变得更加清晰直观。
组件化
通过 Vue 3 进行组件化开发
Vue 的核心设计思想之一是组件化。这意味着用户界面可以被拆分成一个个独立、可复用的小模块,我们称之为组件 (Component)。
- 像搭乐高一样开发:你可以把一个完整的网页,想象成一个由乐高积木搭建而成的模型。导航栏是一个组件,侧边栏是一个组件,列表中的每一条项目也是一个组件。
- 优势:每个组件都拥有自己的结构(HTML)、逻辑(JavaScript)和样式(CSS)。它们可以独立开发、测试和维护,然后像积木一样被组合、嵌套,最终形成一个完整的应用。这种方式极大地提高了代码的可复用性和可维护性,让团队协作开发大型应用成为可能。
Vue 应用正是由一个个相互关联的组件树构成的。理解并掌握组件化开发,是学习 Vue 的真正钥匙。
Vue 组件
总结一下
所以,Vue.js 是一个采用组件化思想、帮助我们更轻松地构建动态网页和复杂单页面应用的渐进式 JavaScript 框架。
- 它像一位“智能助手”:你负责告诉我数据(State),并描述一下数据和视图的对应关系(Template),剩下所有繁琐的 DOM 操作和同步工作,交给我来做。
- 它像一套“乐高积木”:其组件化的核心理念让你可以从简单的组件开始,逐步搭建出宏伟的应用。整个应用就是一棵由组件构成的树,清晰且易于维护。
- 它友好且强大:学习曲线平缓,文档清晰中文友好,但其能力足以支撑世界上最顶尖的互联网产品。