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>