欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中ref、reactive、toRef、toRefs、$refs的基本用法總結(jié)

 更新時(shí)間:2022年11月07日 12:07:56   作者:東非不開森  
這篇文章主要給大家介紹了關(guān)于Vue中ref、reactive、toRef、toRefs、$refs的基本用法,以及他們之家的區(qū)別,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

不知道有沒有和我一樣,看見那么多帶ref的慢慢就暈了,所以寫一個(gè)簡(jiǎn)單的總結(jié)吧嘿嘿

一、ref reactive

1.1.為什么需要ref、reactive

???
setup 函數(shù)中默認(rèn)定義的變量并不是響應(yīng)式的(即數(shù)據(jù)變了以后頁(yè)面不會(huì)跟著變),如果想讓變量變?yōu)轫憫?yīng)式的變量,需要使用 ref reactive 函數(shù)修飾變量。

  • ref 函數(shù)可以把基本類型變量變?yōu)轫憫?yīng)式引用
  • reactive 函數(shù)可以把復(fù)合類型的變量變?yōu)轫憫?yīng)式的引用。

 1.2.ref reactive基本使用

ref

  • ref用于為數(shù)據(jù)添加響應(yīng)式狀態(tài)
  • 獲取數(shù)據(jù)值需要加.value
  • 因?yàn)閞eactive只能傳入對(duì)象類型的參數(shù),所以基本數(shù)據(jù)類型添加響應(yīng)式狀態(tài)只能用ref(ref也可以定義復(fù)雜的數(shù)據(jù)哦~)

1.引入ref

2.使用ref

查閱資料發(fā)現(xiàn):ref底層使用的是proxy代理函數(shù)實(shí)現(xiàn)雙向綁定,proxy 函數(shù)必須要接收一個(gè)對(duì)象,如果想修改 name 的值,需要使用 name.value。(這個(gè)很重要的

reactive:

1.引入reactive

2.使用reactive

更推薦使用ref(當(dāng)然要分情況的)

二、toRef、toRefs

???
toRef:

  • 只希望轉(zhuǎn)換一個(gè)reactive對(duì)象中的屬性為ref, 那么可以使用toRef的方法:
  • 獲取數(shù)據(jù)值需要加.value

toRefs

  • 使用ES6的解構(gòu)語(yǔ)法,因?yàn)橐粋€(gè)響應(yīng)式對(duì)象直接結(jié)構(gòu)時(shí),結(jié)構(gòu)后的數(shù)據(jù)不再具有響應(yīng)式
  • Vue為我們提供了一個(gè)toRefs的函數(shù),可以將reactive返回的對(duì)象中的屬性都轉(zhuǎn)成ref;

基本使用:

選一個(gè)使用就可以,不然會(huì)很亂

 三、$refs

?????

$refs:直接獲取到元素對(duì)象或者子組件實(shí)例

  • 在Vue中,我們可以給元素或者組件綁定一個(gè)ref的attribute屬性;(不推薦進(jìn)行DOM操作)
  • 在js中:通過document.querySelector("#demo")來獲取dom節(jié)點(diǎn),然后再獲取這個(gè)節(jié)點(diǎn)的值
  • 在vue中,元素綁定ref后,直接通過this.$refs就可以調(diào)用。這樣可以減少獲取dom節(jié)點(diǎn)的消耗

1.在元素中

在元素中綁定一個(gè)ref的attribute屬性

通過this.$refs就可以調(diào)用

在組件中

子組件

父組件調(diào)用子組件的對(duì)象方法、獲取組件實(shí)例和元素

簡(jiǎn)單描述vue3中ref、reactive、toRef、toRefs區(qū)別

ref:ref用于創(chuàng)建基礎(chǔ)數(shù)據(jù)類型的響應(yīng)式變量(采用復(fù)制的方式,修改響應(yīng)式數(shù)據(jù)不會(huì)影響原始數(shù)據(jù),數(shù)據(jù)發(fā)生改變,界面就會(huì)自動(dòng)更新)

setup(){
    const refA = ref(0)
}

reactive:reactive用于創(chuàng)建引用類型的響應(yīng)式對(duì)象

setup(){
    const refA = reactive({
        name: "LISA",
        age: "36"
    })
}

toRef: toRef接收兩個(gè)參數(shù)target和attr,target是一般是reactive的響應(yīng)式對(duì)象,attr是對(duì)象的屬性,返回響應(yīng)式變量(采用引用的方式,修改響應(yīng)式數(shù)據(jù),會(huì)影響原始數(shù)據(jù),并且數(shù)據(jù)發(fā)生改變)

setup(){
    const object = reactive({ name: "LISA", age: "36" })
    const refA = toRef(object, name) 
}

toRefs: 將響應(yīng)式reactive對(duì)象轉(zhuǎn)換為普通對(duì)象,多用于響應(yīng)式對(duì)象轉(zhuǎn)為普通對(duì)象后解構(gòu)(對(duì)象中的數(shù)據(jù)依舊是響應(yīng)式)

setup(){
    const refA = reactive({
        name: "LISA",
        age: "36"
    })
    return{
        ...toRefs(refA) 
    }
    // 相當(dāng)于return了 name: ref("LISA"),age: ref("36")
}

總結(jié)

到此這篇關(guān)于Vue中ref、reactive、toRef、toRefs、$refs的基本用法總結(jié)的文章就介紹到這了,更多相關(guān)Vue中ref reactive toRef toRefs $refs內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中的循環(huán)遍歷對(duì)象、數(shù)組和字符串

    vue中的循環(huán)遍歷對(duì)象、數(shù)組和字符串

    這篇文章主要介紹了vue中的循環(huán)遍歷對(duì)象、數(shù)組和字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue中使用的EventBus有生命周期

    Vue中使用的EventBus有生命周期

    這篇文章主要介紹了Vue中使用的EventBus有生命周期的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • vue+el-table實(shí)現(xiàn)合并單元格

    vue+el-table實(shí)現(xiàn)合并單元格

    這篇文章主要為大家詳細(xì)介紹了vue+el-table實(shí)現(xiàn)合并單元格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue之computed的緩存特性

    vue之computed的緩存特性

    這篇文章主要介紹了vue之computed的緩存特性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue源碼中的檢測(cè)方法的實(shí)現(xiàn)

    vue源碼中的檢測(cè)方法的實(shí)現(xiàn)

    這篇文章主要介紹了vue源碼中的檢測(cè)方法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • vue刷新頁(yè)面時(shí)去閃爍提升用戶體驗(yàn)效果的實(shí)現(xiàn)方法

    vue刷新頁(yè)面時(shí)去閃爍提升用戶體驗(yàn)效果的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue刷新頁(yè)面時(shí)去閃爍提升體驗(yàn)方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • vue使用vuedraggable插件實(shí)現(xiàn)拖拽效果

    vue使用vuedraggable插件實(shí)現(xiàn)拖拽效果

    這篇文章主要介紹了vue使用vuedraggable插件實(shí)現(xiàn)拖拽效果,本文分步驟介紹了安裝vuedraggable插件的方法及頁(yè)面引入的方法,需要的朋友可以參考下
    2024-04-04
  • 詳解vue 2.6 中 slot 的新用法

    詳解vue 2.6 中 slot 的新用法

    對(duì)插槽的這種改變讓我對(duì)發(fā)現(xiàn)插槽的潛在功能感興趣,以便為我們基于Vue的項(xiàng)目提供可重用性,新功能和更清晰的可讀性。這篇文章主要介紹了vue 2.6 中 slot 的新用法,需要的朋友可以參考下
    2019-07-07
  • vue通知提醒消息舉例詳解

    vue通知提醒消息舉例詳解

    在項(xiàng)目開發(fā)過程中,可能需要實(shí)現(xiàn)以下場(chǎng)景,未讀消息提示、報(bào)警信息、消息通知等,下面這篇文章主要給大家介紹了關(guān)于vue通知提醒消息的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • vue中導(dǎo)出Excel表格的實(shí)現(xiàn)代碼

    vue中導(dǎo)出Excel表格的實(shí)現(xiàn)代碼

    項(xiàng)目中我們可能會(huì)碰到導(dǎo)出Excel文件的需求,這篇文章主要介紹了vue中導(dǎo)出Excel表格的實(shí)現(xiàn)代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-10-10

最新評(píng)論