千锋教育前端Vue3.0全套视频教程(Kerwin2023版,Vue.js零基础

vue2中无论元素是否参与更新,每次都会重新创建,然后渲染
- vue3中对于不参与更新的元素,会做静态提升,只会被创建一次,在渲染时直接复用即可 默认情况下onClick事件会被视为动态绑定,所以每次都会追踪他的变化,但是因为是同一个函数,所以没有追踪变化,直接缓存起来复用由于在执行setup函数的时候,还没有执行到Created方法 ,所以还不能使用 data 和 methods 的方法
- this 为 undefined【因为vue避免我们错误使用,所以将this置为undefined】
setup函数必须是同步的不能是异步的通过当前数据的 __v_ref来判断的
- 如果有__v_ref这个私有属性的hauler,并且值为true,那么代表就是一个ref类型的数据非递归监听就是,视图只能监听到数据第一层变化,而监听不到更深层的变化。这两个函数创建出来变量是非递归监听的,只为某个对象的私有(第一层)属性创建浅层的响应式代理,不会对“属性的属性”做深层次、递归地响应式代理,而只是保留原样。如果想通过toRaw拿到ref类型的原始数据(创建时传入的按那个数据),那么就必须明确的告诉toRaw方法,要获取的是.value的值,因为经过Vue处理后,.value中保存的才是当初创建时传入的那个原始数据
自定义Ref函数:返回一个ref对象,可以显示地控制以来追踪和触发响应式,定义customRef时,我们要在获取值时告诉vue数据要追踪变化,使用track()方法,在设置值时告诉vue要触发页面更新,使用trigger()