亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

vue3中的ref()詳解

瀏覽:149日期:2022-06-10 08:26:01
目錄
  • ref()
  • 1. ref在模板中自動解包
  • 2. ref 在響應式對象中的解包
  • 3. 數組和集合類型的 ref 解包
  • 總結

ref()

接受一個值,返回一個響應式的,可以修改的ref對象,這個對象只有一個.vaule屬性。

ref對象可以通過.value屬性進行修改,修改后的值也是響應式的,并且修改后會觸發相關的副作用。

如果將一個對象賦值給ref,則這個對象會通過reactive()轉為具有深層次的響應式對象。

對于屬性值是ref對象的對象,解構后也具有響應式。

1. ref在模板中自動解包

當ref作為頂層屬性在模板中使用時,自動解包,不用.value即可獲取值。

const count = ref(1);
count.value = 2;

直接使用

<!-- count值為2 -->
<div>{{count}}</div>
<!-- 正確 -->
<div>{{count + 1}}</div>

若不是頂層屬性, 假如值需要邏輯操作,則會出現問題。

const obj = {
    age: ref(1)
}
<!-- 可以正常顯示-->
<div>{{obj.age}}</div>
<!-- 會報錯  渲染的結果會是一個 [object Object],因為 obj.age 是一個 ref 對象。需要obj.age.value 才能正常顯示-->
<div>{{obj.age + 1}}</div>

解構后也具有響應式

const {age} = obj;

2. ref 在響應式對象中的解包

一個ref對象嵌套在一個響應式對象中,屬性訪問時會自動解包

const a = ref(1)
const state = reactive({
    age: a
})
console.log(state.age); // 1 直接解包,不用state.age.value

如果將一個新的 ref 賦值給另一個對象具有 ref屬性的 ,那么它會替換掉舊的 ref。

const b = ref(3);
// 假如將b直接賦值給state.age,因為b是一個ref對象,則會替代之前的ref對象,則現在state.age不管如何變化都變量a沒有了關系
state.age = b;
console.log(stata.age); // 3
console.log(a); // 1
// 假如將b.value賦值給state.age,其實b.value就相等于一個值,并不是ref對象,則不會替代之前的ref對象,則state.age變化,之前的變量a也會隨之變化
state.age = b.value;
console.log(state.age); // 3
console.log(a); // 3

只有當嵌套在一個深層響應式對象內時,才會發生 ref 解包。當其作為淺層響應式對象的屬性被訪問時不會解包。

3. 數組和集合類型的 ref 解包

跟響應式對象不同,當 ref 作為響應式數組或像 Map 這種原生集合類型的元素被訪問時,不會進行解包。

const books = reactive([ref("Vue 3 Guide")])
// 這里需要 .value
console.log(books[0].value)
const map = reactive(new Map([["count", ref(0)]]))
// 這里需要 .value
console.log(map.get("count").value)

總結

返回一個具有響應式的ref對象,并只有一個屬性.value可通過.value 獲取或修改值。在模板中自動解包,對于對象在模板中使用若需要邏輯操作需.value。解構出來的也具有響應式對于響應式對象可以解包當一個ref對象賦值給另一個ref對象,則會替換舊的ref對象對于響應式數組則不會解包

到此這篇關于vue3中的ref()的文章就介紹到這了,更多相關vue3中的ref()內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: JavaScript
主站蜘蛛池模板: 在线观看国产日本 | 黑人一区 | 亚洲日韩欧美视频 | 麻豆视频免费观看 | 福利午夜 | 成人国产三级精品 | 亚洲午夜精品 | 日本丰满hdxxxxx护士 | 亚欧精品一区二区三区四区 | 国产最新视频 | 日韩欧美一区二区三区免费观看 | 免费一级大黄特色大片 | 国产91香蕉在线精品 | 精品女同一区二区三区在线 | 成 人 色综合 | 国产精品香蕉在线观看不卡 | 日韩成人影院 | 国产午夜人做人视频羞羞 | 黄色大片播放 | 国产午夜亚洲精品久久999 | 小明看看永久免费视频 | 六月丁香啪啪 | 国产毛片一区二区三区精品 | 欧美成人h版影片在线观看 欧美成人h版影院在线播放 | 亚洲伦理一区二区三区 | 日本高清免费毛片久久看 | 亚洲第一a亚洲 | 日韩第一页在线观看 | 丁香婷婷久久大综合 | 色老头xxxwww作爱视频 | 制服丝袜在线不卡 | 一道本不卡免费视频 | 美国a级作爱片免费观看美国 | 手机看片国产免费现在观看 | 求毛片| 韩国一级特黄清高免费大片 | 国产美女久久久久久久久久久 | 亚洲精品网址 | 国产日本欧美亚洲精品视 | 噜噜视频入口 | 国产精品亚洲综合天堂夜夜 |