Vue 3 作为一款流行的前端框架,提供了丰富的特性和工具来构建现代化的用户界面。以下是 Vue 3 的核心知识点分类总结,涵盖基础概念、响应式系统、组件化开发、状态管理、路由、工具链及性能优化等方面:
一、核心概念与响应式系统
1、响应式基础
ref 和 reactive:用于创建响应式数据,ref 包装基本类型,reactive 包装对象类型。
computed 和 watch:计算属性自动依赖追踪,watch 监听数据变化并执行副作用逻辑。
toRefs 和 toRef:解构响应式对象时保持响应性,或单独提取响应式属性。
2、生命周期钩子
组件生命周期:setup 替代 beforeCreate/created,onMounted、onUpdated、onUnmounted 等组合式 API 钩子。
模板引用:通过 ref 获取 DOM 元素或组件实例。
二、组件化开发
1、组件定义与注册
单文件组件(SFC):.vue 文件集成模板、脚本和样式。
组合式 API:setup 函数中组织逻辑,支持代码复用(如自定义 Hook)。
2、组件通信
Props 与 Emits:父组件通过 props 传递数据,子组件通过 emits 触发事件。
Provide/Inject:跨层级组件通信,避免多层 props 传递。
插槽(Slots):内容分发,支持作用域插槽传递数据。
3、高级组件
动态组件:通过
异步组件:结合 defineAsyncComponent 实现懒加载。
Teleport:将组件内容渲染到 DOM 任意位置(如模态框)。
三、状态管理
1、Pinia(推荐)
模块化 Store:通过 defineStore 定义状态、动作和计算属性。
插件支持:支持开发工具、持久化插件等。
2、Vuex(旧项目)
核心概念:state、mutations、actions、getters、modules。
四、路由管理
Vue Router 4
动态路由:/user/:id 匹配参数。
导航守卫:全局前置守卫、路由独享守卫、组件内守卫控制路由跳转。
路由懒加载:按需加载组件,减少初始包体积。
五、工具链与构建
1、Vite
极速开发体验:基于原生 ES 模块的构建工具,支持热更新。
插件生态:扩展功能(如 Vue 插件)。
2、Vue CLI(旧项目)
项目脚手架:支持 Webpack 配置,适合复杂项目。
六、性能优化
1、虚拟 DOM 优化
v-once:静态内容只渲染一次。
v-memo:条件性跳过子树更新。
2、编译优化
静态提升:静态节点提升到渲染函数外。
块追踪:标记动态节点,减少更新范围。
3、Tree Shaking
按需引入:仅打包使用的代码(如仅引入需要的 Pinia 模块)。
七、其他特性
1、组合式函数(Composables)
复用逻辑:将通用逻辑(如分页、表单验证)封装为可复用函数。
2、自定义指令
直接操作 DOM:如实现 v-focus 自动聚焦。
3、SSR/SSG 支持
Nuxt.js 3:基于 Vue 3 的 SSR 框架,支持静态站点生成。
4、TypeScript 集成
类型推导:ref、reactive、props 等支持类型定义。
八、学习路径建议
1、基础掌握
熟悉响应式系统、组件通信、生命周期。
2、进阶实践
使用 Pinia 管理状态,Vue Router 4 配置路由,Vite 搭建项目。
3、性能调优
学习虚拟 DOM 优化技巧,结合 Chrome DevTools 分析性能。
4、生态探索
尝试 Nuxt.js 3、Vite 插件开发等高级场景。
通过系统学习以上知识点,开发者可以高效构建高性能、可维护的 Vue 3 应用。建议结合官方文档和实际项目实践,逐步深入掌握。