前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
Vue3笔记总结
首页
2020-12-27 18:12:32
Front-End
Vue

# 一、为什么选择CompositionAPI

# Vue2的局限性

  • 组件逻辑膨胀导致的可读性变差
  • 无法跨组件重用代码
  • Vue2对TS的支持有限

在传统的OptionsAPI中我们需要将逻辑分散到以下六个部分

OptionsAPI

  • components
  • props
  • data
  • computed
  • methods
  • lifecycle methods

# 如何使用CompositionAPI解决问题

最佳的解决方法是将逻辑聚合就可以很好的代码可读性。

这就是我们的CompositionAPI语法能够实现的功能。CompositionAPI是一个完全可选的语法与原来的OptionAPI并没有冲突之处。他可以让我们将相同功能的代码组织在一起,而不需要散落到optionsAPI的各个角落

# 代码重用方法PK

Vue2中的跨组件重用代码,我们大概会有四个选择

  1. Mixin - 混入

  • 代码混入其实就是设计模式中的混合模式,缺点也非常明显。
  • 可以理解为多重继承,简单的说就是一个人如何有两个父亲

缺点

  • 无法避免属性名冲突
  • 继承关系不清晰
  1. Mixin Factory - 混入工厂

返回一个

✅代码重用方便

✅继承关系清洗

  1. ScopeSlots - 作用域插槽

❌可读性不高

❌配置复杂 - 需要再模板中进行配置

❌性能低 - 每个插槽相当于一个实例

  1. CompositionApi - 复合API

✅代码量少

✅没有引入新的语法,只是单纯函数

✅异常灵活

✅工具语法提示友好 - 因为是单纯函数所以 很容易实现语法提示、自动补偿

# 二、setup & ref

# 使用CompositionAPI理由

✅更好的Typescript支持

✅在复杂功能组件中可以实现根据特性组织代码 - 代码内聚性👍 比如: 排序和搜索逻辑内聚

✅组件间代码复用

# setup是什么

  • 在以下方法前执行:
    • Components
    • Props
    • Data
    • Methods
    • Computed Properties
    • Lifecycle methods
  • 可以不在使用难于理解的this
  • 有两个可选参数
    • props - 属性 (响应式对象 且 可以监听(watch))
import {watch} from "vue"
export defalut {
	props: {
		name: String
	},
	setup(props) {
		watch(() => {
			console.log(props.name)
		})
	}
}
@前端进阶之旅: 代码已经复制到剪贴板
  • context 上下文对象 - 用于代替以前的this方法可以访问的属性
setup (props,context) {
	const {attrs,slots,parent,root,emit} = context
}
@前端进阶之旅: 代码已经复制到剪贴板

# ref是什么

对基本数据类型数据进行装箱操作使得成为一个响应式对象,可以跟踪数据

fe
  • 一、为什么选择CompositionAPI
    • Vue2的局限性
    • 如何使用CompositionAPI解决问题
    • 代码重用方法PK
  • 二、setup & ref
    • 使用CompositionAPI理由
    • setup是什么
    • ref是什么
    • 总结
  • 三、Methods
    • 基础用法
    • 自动拆装箱总结
  • 四、 Computed - 计算属性
  • 五、Reactive - 响应式语法
  • 六、 Modularizing
  • 七、 LifecycleHooks - 生命周期钩子
  • 八、Watch - 监听器
  • 九、Sharing State - 共享状态
  • 十、Suspense - 悬念
    • 复杂的Loading实现
    • Suspense基础语法
    • 骨架屏实现
  • 十一、Teleport - 传送门
    • 功能
    • 基础语法
    • 示例代码

← 小程序绘制海报总结Github Action部署应用实践总结 →