Vue3 入门(ref)
Vue3 入门(ref)
let name = ref('jack')
- 首先我们得明白,
ref函数返回的是一个RefImpl对象的实例,所以此时name的值是一个复杂数据类型Object,它里面有个value属性,就是它的值,而其它的属性皆是下划线开头的,我们不关注,因为这类属性一般不是给我们开发用的 - 在
Vue3中,想要实现响应式,就得借助ref或reactive,这是人家底层实现响应式之后给你抛出的的一套语法 RefImpl的全称是Reference Implement,即引用实现。Ref也能实现对象的响应式,因为当它碰到对象时,会用Proxy去代理,xxx.value.xxx就能拿到这个Proxy了- 在
RefImpl中,基本数据类型是用Object.defineProperty实现的,对象类型是用Proxy实现的 - 在
Vue2中,直接通过数组下标赋值是不行的,但在Vue3中可以,因为它用的是Proxy代理
在
js代码中,若想实现那种响应式的值的改变,那么就得去改变该对象里面value的值,不能直接给name赋一个其它值,因为Vue3中的响应式得借助RefImpl对象来实现在
template模板中是不需要.value的,因为Vue3在解析模板的时候,当发现它是RefImpl对象时,会自动去取它的value属性并展示出来
这一路,灯火通明

浙公网安备 33010602011771号