vue3基本功
watchEffect和watch
watchEffect默认 immdiate 是 true,而且自动收集依赖
watch需要手动写依赖,immdiate 默认是 false
toRef和toRefs
toRef: 复制 reactive 里的单个属性并转成 ref
toRefs: 复制 reactive 里的所有属性并转成 ref
vue3中使用vuex
import { useStore } from ‘vuex’;
通过useStore 获取Vuex store实例
nextTick
推迟到下一个 DOM 更新周期之后执行
v-show和v-if
v-show只是切换元素的CSS属性,display:none
import()和defineAsyncComponent
- 如果只需要简单的懒加载,直接使用
import()
是足够的。 - 如果需要更复杂的加载逻辑(如加载中状态、错误处理、延迟加载等),则推荐使用
defineAsyncComponent
。它基于 import() 的能力,进一步封装了异步加载的逻辑,提供了更丰富的功能,如加载状态、错误处理、延迟和超时等。
什么是SFC
Vue 的单文件组件 (即 *.vue 文件,英文 Single-File Component,简称 SFC)
为什么 data 选项是一个函数
每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据
Vue 是单向数据流
数据总是从父组件传到子组件,子组件没有权利修改父组件传过来的数据,只能请求父组件对原始数据进行修改
v-model
通过v-model实现双向绑定,注意这个跟单向数据流是两个不同的概念
beforeEnter
路由独享守卫是在单个路由配置中定义的钩子函数,它只对该路由的实例生效。路由独享守卫只有一个
在定义了全局混入后,所有 Vue 组件都会自动继承这些混入选项。例如:
mixin混入
1. 混入的合并策略
当混入对象与组件选项冲突时,Vue 会按照一定的策略合并它们:
- 数据(
data
):混入的data
会与组件的data
合并,但组件的data
优先级更高。 - 方法(
methods
):混入的methods
和组件的methods
会合并,组件的同名方法会覆盖混入的方法。 - 计算属性(
computed
):混入的compute