学习Vue3

147 阅读3分钟

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个,可以多次使用同一个钩子,执行顺序和书写顺序是一样的。

  1. toRef toRef是一函数,转化响应对象中的某个属性单独作为响应式数据,并且值是关联的 使用场景:有一个响应式对象,但是模板中只需要使用其中一个属性。 在vue3.x中,除使用reactive定义响应式数据之外,还可以使用ref let count = ref(0); let name = obj.name; 这样写,此时这个name不是响应式数据

  2. 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会自动侦听到响应式数据的变化

  1. watchEffect 清除副作用 副作用 药 在使用某个功能时,可能会出现某个潜在bug,此时就说,在实现在这个功能时,产生副作用 如:在开发中我们需要在侦听函数中进行ajax请求,但是网络请求没有达到的时候,此时,我们停止了侦听或侦听器对应的函数被再次执行了。 那么上一次的ajax请求应该被取消掉, 这个时候,我们就可以清除上一次的副作用。