Appearance
Vue3
1.vue3新变化
组合式api,以前vue2的方法、数据、监听都是通过选项的方式分块编写代码,组合式api是一系列 API 的集合,响应式、生命周期等api。为什么这么做:更方便逻辑复用,以前主要是使用混入实现函数复用,现在我们可以用组合式api更方便复用。代码组织更灵活,以前我们使用选项式api不得不将一个功能逻辑拆分到不同的选项中。现在组合式api我们可以将同一个组的逻辑逻辑代码直接写在一块。 setup语法糖(<script setup> 中的代码会在每次组件实例被创建的时候执行。)。以前是
2. vue响应式原理
vue2主要是使用发布订阅模式结合数据劫持实现响应式。 vue2通过Object.defineProperty递归遍历data中的所有属性,为每个属性定义getter和setter。实现数据劫持,当访问属性时触发 getter 收集依赖;当修改属性时触发 setter 通知更新。每个响应式属性对应一个 Dep 实例,内部维护一个数组 subs 存储所有依赖该属性的 Watcher。Watcher(观察者):代表一个依赖(如组件渲染函数、计算属性、watch 监听器)。当数据变化时,Watcher 会收到通知并执行更新逻辑。
- ts 的联合类型和交叉类型的区别有哪些