1.setup初识 setup是一个新的组件选项,作为组件中使用组合API的起点 在vue3中可以写vue2的生命周期 beforeCreate 从组件生命周期来看,它的执行在组件实例创建(beforeCreate)之前就执行了。 那就意味着,在setup中,得不到组件实例,也就是说没有this,this的值是und。 在setup中需要返回一个对象,里面放数据和方法。 换句话说,在模板中使用到的数据或函数,都需要在setup中返回。
2.vue3的生命周期函数 setup 创建实例之前就调用了 onBeforeMount 挂载DOM前 onMounted 挂载DOM后 onBeforeUpdate 更新组件前 onUpdated 更新组件后 onBeforeUnmount 卸载销毁前 onUnmount 卸载销毁后 组合API的生命周期钩子共有7个,可以多次使用同一个钩子,执行顺序和书写顺序是一样的。
-
toRef toRef是一函数,转化响应对象中的某个属性单独作为响应式数据,并且值是关联的 使用场景:有一个响应式对象,但是模板中只需要使用其中一个属性。 在vue3.x中,除使用reactive定义响应式数据之外,还可以使用ref let count = ref(0); let name = obj.name; 这样写,此时这个name不是响应式数据
-
toRefs toRefs是一个函数,转化响应式对象中所有的属性为单独的响应式数据。值是相关联的 场景:把一个响应式对象,通过toRefs 配合 ... 把这个响应式对象中的每个属性都作为单独的一个响应式数据
5.ref ref是一个函数,把一个简单的数据,定义成响应式数据 修改值,获取值时,需要手动.value 在模板中使用时,不需要.value,vue底层,会自动给你.value场景: 1)当一个基本数据类型的数据,需要处理成响应式数据时,可以使用ref 2)当一个对象(有一堆的数据),需要处理成响应式数据时,可以使用reactive 3)可以操作DOM ref 使用ref可以获取DOM,或获取组件实例 在真实开发中,要想取DOM,或获取组件实例,可以使用ref 在vue2.x中,可以在一个DOM元素上,写一个ref,或在一个组件上写一个ref 通过this.$refs.xxx 在vue2.x中, <li v-for=(i in 5)> 总结: 1)开发中,想获取一个DOM元素,先声明一个ref,返回给模板使用,通过ref进行绑定 2)有可能dom是通过v-for遍历出来的多个元素,需要按下面的步骤实现 6. computed computed也是一个函数,是用来定义计算属性的,计算属性不能修改的 计算属性也支持双向数据绑定 计算属性两种用法: 1)给计算属性传递一个函数,该函数的返回值,就是计算属性的值 2)给计算属性传递一个对象,有get和set,get用于获取计算属性的值,set监听计算属性改变。
7.watch watch也是一个函数,就是之前讲过的侦听器 可以侦听ref定义的响应式数据 可以侦听reactive定义的响应式数据 深度侦听 默认执行 监听多个数据的变化 大家,需要掌握watch的几种常见的写法
8.watchEffect effect是副作用的意思 watch,需要手动指定要侦听的数据源 watchEffect会自动侦听到响应式数据的变化
- watchEffect 清除副作用 副作用 药 在使用某个功能时,可能会出现某个潜在bug,此时就说,在实现在这个功能时,产生副作用 如:在开发中我们需要在侦听函数中进行ajax请求,但是网络请求没有达到的时候,此时,我们停止了侦听或侦听器对应的函数被再次执行了。 那么上一次的ajax请求应该被取消掉, 这个时候,我们就可以清除上一次的副作用。