-
Vue基础
- Vue概述
- Vue环境
- Vue项目
- Vue版本
-
Vue语法
- 基本组件
- 数据绑定
- 指令语法
- 事件对象
- 事件修饰
- 计算属性
- 数据侦听
- 样式绑定
-
Vue周期
- 生命周期概述
- 生命周期函数
-
Vue组件
- 组件概述
- 组件语法
- 组件样式
- 组件数据
- 动态组件
- 缓存组件
-
Vue插槽
- 插槽概述
- 插槽语法
- 插槽分类
-
Vue指令
- 自定义指令概述
- 私有自定义指令
- 全局自定义指令
- 自定义指令参数
- 自定义指令函数
-
Vue静态
- 静态资源概述
- 静态资源引入
-
Vue路由
- 路由概述
- 路由安装
- 路由重定向
- 路由嵌套
- 动态路由
- 命名路由
- 编程式导航
- 导航守卫
-
Vue组件库
- Element组件库
- Vant组件库
- AntDesign组件库
-
Vue Axios
- Axios概述
- Axios安装
- Axios用法
-
Vue Vuex
- Vuex概述
- Vuex安装
- Vuex使用
-
Vue Pinia
- Pinia概述
- Pinia安装
- Pinia使用
- Pinia模块化
- Pinia持久化
1 vue简介
Vue(读音:/Vjuː/)是一款用于构建用户界面的渐进式框架。其中,“渐进式”是指在使用Vue核心库时,可以在核心库的基础上根据实际需要逐步增加功能。
2 vue原理
注意:
1) Vue是基于MVVM模式的框架,MVVM主要包含Model(数据模型)、View(视图)和ViewModel(视图模型);
2) Model是指数据部分,负责业务数据的处理;
3) View是指视图部分,即用户界面,负责视图处理;
4) ViewModel用于连接视图与数据模型,负责监听Model或者View的改变;
5) View和Model不能直接通信,它们需要借助ViewModel才能进行通信。ViewModel相当于一个观察者,监控着View和Model的动作,实现了View与Model的解耦;
6) ViewModel 包含 DOM Listeners 和 Data Bindings:
- DOM Listeners 用于监听View中DOM变化,并在DOM变化时通知Model做出相应的修改。
- Data Bindings用于监听Model中的数据变化,并在数据变化时通知View做出相应的修改。
3 vue特性
(1) 数据驱动视图:在使用Vue的页面中,Vue会监听数据变化,当页面数据发生变化时,Vue会自动重新渲染页面结构。
(2) 双向数据绑定:Vue实现了双向数据绑定,即当数据发生变化时,视图也会发生变化;当视图发生变化时,数据也会跟着同步变化。
(3) 指令:指令主要包括内置指令和自定义指令,内置指令是Vue本身自带的指令,而自定义指令是由用户自己定义的指令;指令的名称以“v-”开头,作用于HTML中的元素,将指令绑定在元素上时,指令会给绑定的元素添加一些特殊的行为。
(4) 插件:Vue支持插件,通过加载插件可以实现更多的功能。常用的插件有Vue Router(路由)、Vuex(状态管理库)、Pinia(轻量级状态管理库)等,这些插件经过简单配置就可以使用。
4 vue版本
(1) Vue 1:Vue 1几乎被淘汰,不建议学习与使用;
(2) Vue 2:目前被广泛应用;
(3) Vue 3:Vue 3将会逐步替代Vue 2。
注意:
1) Vue 3支持Vue 2中绝大多数的API与特性,同时Vue 3还新增了一些特有的功能,并废弃了Vue 2中的一些旧功能;
2) Vue 3新增的功能包括组合式(Composition)API、多根节点组件等;废弃的旧功能包括过滤器(Filter)以及$on()、$off()和$once()实例方法等。从表面上看,Vue 3和Vue 2的使用方式没太大的差异,但Vue 3的底层代码发生了很大变化,包括渲染、数据监听、双向绑定、生命周期等。
3) Vue 3的新特性:
- 体积更小:采用按需编译的方式编译出来的文件体积比Vue 2的小;
- 性能提升:运行速度比Vue 2快1.5倍左右;
- TypeScript支持:具有更好的TypeScript支持;
- 提供了更先进的组件;
- 提供组合式API,能够更好地组合逻辑、封装逻辑、复用逻辑。
4) Vue 3版本,常用的UI组件库:
- Element Plus组件库:一款基于Vue 3的桌面端组件库。
- Vant组件库:一款开源移动端组件库,它从3.0版本开始支持Vue 3。
- Ant Design Vue组件库:用于开发和服务企业级后台产品的组件库,它从2.0版本开始支持Vue 3