1.什么是ref?
- ref和reactive一样, 也是用来实现响应式数据的方法
- 由于reactive必须传递一个对象, 所以导致在企业开发中
如果我们只想让某个变量实现响应式的时候会非常麻烦
所以Vue3就给我们提供了ref方法, 实现对简单值的监听
2.ref本质:
- ref底层的本质其实还是reactive
系统会自动根据我们给ref传入的值将它转换成
ref(xx) -> reactive({value:xx})
3.ref注意点:
- 在Vue中使用ref的值不用通过value获取
- 在JS中使用ref的值必须通过value获取
<template> <div> <!-- <p>{{state.age}}</p>--> <!-- 注意点: 如果是通过ref创建的数据, 那么在template中使用的时候不用通过.value来获取 因为Vue会自动给我们添加.value --> <p>{{age}}</p> <button @click="myFn">按钮</button> </div> </template> <script> /* 1.什么是ref? - ref和reactive一样, 也是用来实现响应式数据的方法 - 由于reactive必须传递一个对象, 所以导致在企业开发中 如果我们只想让某个变量实现响应式的时候会非常麻烦 所以Vue3就给我们提供了ref方法, 实现对简单值的监听 2.ref本质: - ref底层的本质其实还是reactive 系统会自动根据我们给ref传入的值将它转换成 ref(xx) -> reactive({value:xx}) 3.ref注意点: - 在Vue中使用ref的值不用通过value获取 - 在JS中使用ref的值必须通过value获取 * */ // import {reactive} from 'vue'; import {ref} from 'vue'; export default { name: 'App', setup() { // let state = reactive({ // age: 18 // }) /* ref本质: ref本质其实还是reactive 当我们给ref函数传递一个值之后, ref函数底层会自动将ref转换成reactive ref(18) -> reactive({value: 18}) * */ let age = ref(18); function myFn() { // state.age = 666; // age = 666; age.value = 666; console.log(age); } return {age, myFn} } } </script> <style> </style>