千鋒教育前端Vue3.0全套視頻教程(Kerwin2023版,Vue.js零基礎(chǔ)

toRef/toRefs
相同:將數(shù)據(jù)轉(zhuǎn)換為響應(yīng)式數(shù)據(jù)對象,使用時需要加.value。
不同:toRef 只能將單個屬性轉(zhuǎn)化為 ref ,如果對象中屬性多的話,一個個轉(zhuǎn)太麻煩了,于是就會使用 toRefs ,將對象中的全部屬性轉(zhuǎn)化為 ref。
toRef 函數(shù)有兩個參數(shù),參數(shù)1為操作對象,參數(shù)2為對象中的屬性。
toRefs 函數(shù)有一個參數(shù),其為整個對象。
如果原對象中沒有結(jié)構(gòu)的屬性,toRef 會將其賦值為響應(yīng)式對象,對象.value是undefined,而 toRefs 會將其賦值為 undefined,而不是響應(yīng)式對象。
總結(jié):
- 如果想讓響應(yīng)式數(shù)據(jù)和以前的數(shù)據(jù)關(guān)聯(lián)起來,并且想在更新響應(yīng)式數(shù)據(jù)的時候不更新視圖,那么就使用 toRef 函數(shù)。
- 如果希望將對象的多個屬性都變成響應(yīng)式數(shù)據(jù),并且要求響應(yīng)式數(shù)據(jù)和原始數(shù)據(jù)關(guān)聯(lián),更新響應(yīng)式數(shù)據(jù)的時候不更新視圖,就使用 toRefs 函數(shù)用于批量設(shè)置多個數(shù)據(jù)為響應(yīng)式數(shù)據(jù)。因為 toRef 函數(shù)一次僅能設(shè)置一個數(shù)據(jù)。
- toRefs 函數(shù)接收一個對象作為參數(shù),它會遍歷對象身上的所有屬性,然后挨個調(diào)用 toRef 函數(shù)執(zhí)行。
標(biāo)簽: