最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3中的ref,toRef,toRefs三個(gè)的作用使用小結(jié)

 更新時(shí)間:2022年11月11日 11:36:25   作者:有兩把刷子  
Vue3中ref、reactive、toRef、toRefs都是與響應(yīng)式數(shù)據(jù)相關(guān)的,就此做一份筆記作為區(qū)別,本文重點(diǎn)給大家講解vue3中的ref,toRef,toRefs三個(gè)是干嘛的,有什么作用,感興趣的朋友跟隨小編一起看看吧

1. ref的使用

     ref 接受一個(gè)原始值,返回一個(gè)具有響應(yīng)式的對(duì)象,對(duì)象有一個(gè)value屬性,其值就是所傳遞的原始值。

  ref是做的一個(gè)拷貝關(guān)系,修改對(duì)象msg的值,不會(huì)影響對(duì)象obj,視圖會(huì)發(fā)生變化。

    import { ref } from "vue";
    let obj = { name: "你好", age: 16 };
    let msg = ref(obj.name);
    console.log(msg.value); // 你好
    let arr = ref([]) // ref 可以是任何類型 也可以是對(duì)象
    function change1() {
      msg.value = "世界"; 
      //修改msg1數(shù)據(jù)的時(shí)候必須要加 .value 渲染數(shù)據(jù)的時(shí)候就不用加了
      console.log(obj, msg.value);
      // {name: "你好", age: 16} '世界' 
      // 數(shù)據(jù)此時(shí)沒改變 但是頁(yè)面的數(shù)據(jù)改變了
      
    }
    change1();
 
     return {
        obj,
        msg,
     };

 如果給dom上加ref 就是當(dāng)前的dom元素

<template>
  <div class="home-new">  
      <div ref="target">
       
      </div>
  </div>
</template>
import {ref} from 'vue'
export default {
  name: "HomeNew",
  setup(p, { emit }) {
    const target = ref(null);
    // 懶加載
    console.log(target);
    return {
      target,
    };
  },
 
};

2. toRef的使用

  toRef用來(lái)給抽離響應(yīng)式對(duì)象中的某一個(gè)屬性,并把該屬性包裹成ref對(duì)象,使其和原對(duì)象產(chǎn)生鏈接

 toRef是做的一種引用關(guān)系,修改msg2的值,會(huì)影響對(duì)象msg,但視圖不會(huì)發(fā)生變化

    setup(){
    	let msg = { name: 'zs', age: 16 }
        let msg2 = toRef(msg, 'name')
        console.log(msg2.value)	// zs
        function change2() {
            msg2.value = 'ww'
            console.log(msg, msg2.value) // {name: "ww", age: 16} ww
            //此時(shí) msg.ww 數(shù)據(jù)變了 但是視圖上的是不會(huì)變的
        }
        change2()
        return { msg2,change2 }
    }

3. toRefs的使用

 toRefs用來(lái)把響應(yīng)式對(duì)象轉(zhuǎn)換成普通對(duì)象,把對(duì)象中的每一個(gè)屬性,包裹成ref對(duì)象

toRefs就是toRef的升級(jí)版,只是toRefs是把響應(yīng)式對(duì)象進(jìn)行轉(zhuǎn)換,其余的特性和toRef無(wú)二

setup(){
    let msg = { name: 'zs', age: 16 }
    let msg3 = toRefs(msg)
    console.log(msg) // { name:ref, age:ref }  ref代指ref對(duì)象
    function change3() {
      msg3.name.value = 'zl'
      msg3.age.value = 20
      console.log(msg, msg3) // {name: "zl", age: 20} { name:ref, age:ref }
    }
    change3()
    return { msg3, change3 }
}

 請(qǐng)求過來(lái)的數(shù)據(jù)封裝了一下

<script>
import { reactive, toRefs } from "vue";
import { getBanner } from "@/api";
export default {
  setup() {
    return {
      ...toRefs(getBan()),
    };
  },
};
function getBan() {
  let bannerList = reactive({
    list: [],// 模板中直接 寫入 list 就可以了
  });
  getBanner().then((res) => {
    bannerList.list = res.data;
    console.log(bannerList.list);
  });
  return bannerList;
}
</script>

這樣寫模板中直接寫入 {{ list }}  就可以了 , 不用 {{ obj.list }},修改數(shù)據(jù)的時(shí)候還是 obj.list = 'aaa' 

  import { reactive, toRefs } from "vue";
  setup() {
    let obj = reactive({
      list: [],
      newS: [],
      moods: [],
    });
 
    return { ...toRefs(obj) };
  },

4.總結(jié)

ref、toRef、toRefs 都可以將某個(gè)對(duì)象中的屬性變成響應(yīng)式數(shù)據(jù)

ref的本質(zhì)是拷貝,修改響應(yīng)式數(shù)據(jù),不會(huì)影響到原始數(shù)據(jù),視圖會(huì)更新

toRef、toRefs的本質(zhì)是引用,修改響應(yīng)式數(shù)據(jù),會(huì)影響到原始數(shù)據(jù),視圖會(huì)更新

toRef 一次僅能設(shè)置一個(gè)數(shù)據(jù),接收兩個(gè)參數(shù),第一個(gè)參數(shù)是哪個(gè)對(duì)象,第二個(gè)參數(shù)是對(duì)象的哪個(gè)屬性

toRefs接收一個(gè)對(duì)象作為參數(shù),它會(huì)遍歷對(duì)象身上的所有屬性,然后挨個(gè)調(diào)用toRef執(zhí)行

到此這篇關(guān)于vue3中的ref,toRef,toRefs三個(gè)是干嘛的,有什么作用呢。的文章就介紹到這了,更多相關(guān)vue3 ref,toRef,toRefs內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue使用xlsx導(dǎo)入到表格中示例代碼

    vue使用xlsx導(dǎo)入到表格中示例代碼

    這篇文章主要介紹了vue使用xlsx導(dǎo)入到表格中代碼,具體實(shí)現(xiàn)是先通過FileReader將上傳的文件讀取為二進(jìn)制數(shù)據(jù),然后使用xlsx將它解析成JSON數(shù)據(jù),最后將JSON數(shù)據(jù)填充到表格中,需要的朋友可以參考下
    2023-11-11
  • Vue登錄后添加動(dòng)態(tài)路由并跳轉(zhuǎn)的實(shí)踐分享

    Vue登錄后添加動(dòng)態(tài)路由并跳轉(zhuǎn)的實(shí)踐分享

    這篇文章講給大家詳細(xì)介紹一下Vue如何實(shí)現(xiàn)登錄后添加動(dòng)態(tài)路由并跳轉(zhuǎn),文章通過代碼示例介紹的非常詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的的幫助,需要的朋友可以參考下
    2023-07-07
  • vue中$emit傳遞多個(gè)參(arguments和$event)

    vue中$emit傳遞多個(gè)參(arguments和$event)

    本文主要介紹了vue中$emit傳遞多個(gè)參(arguments和$event),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • vue的無(wú)縫滾動(dòng)組件vue-seamless-scroll實(shí)例

    vue的無(wú)縫滾動(dòng)組件vue-seamless-scroll實(shí)例

    本篇文章主要給大家講解了vue的無(wú)縫滾動(dòng)組件vue-seamless-scroll的用法,需要的朋友參考學(xué)習(xí)下吧。
    2017-12-12
  • Vue.js上下滾動(dòng)加載組件的實(shí)例代碼

    Vue.js上下滾動(dòng)加載組件的實(shí)例代碼

    本篇文章主要介紹了Vue.js上下滾動(dòng)加載組件的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-07-07
  • vue如何實(shí)現(xiàn)拖動(dòng)圖片進(jìn)行排序Vue.Draggable

    vue如何實(shí)現(xiàn)拖動(dòng)圖片進(jìn)行排序Vue.Draggable

    這篇文章主要介紹了vue如何實(shí)現(xiàn)拖動(dòng)圖片進(jìn)行排序Vue.Draggable,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue頂部菜單欄實(shí)現(xiàn)小結(jié)

    vue頂部菜單欄實(shí)現(xiàn)小結(jié)

    這篇文章主要介紹了vue頂部菜單欄實(shí)現(xiàn)小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Vue預(yù)覽圖片和視頻的幾種實(shí)現(xiàn)方式

    Vue預(yù)覽圖片和視頻的幾種實(shí)現(xiàn)方式

    本文主要介紹了Vue預(yù)覽圖片和視頻的幾種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • vue3+vite:src使用require動(dòng)態(tài)導(dǎo)入圖片報(bào)錯(cuò)的最新解決方法

    vue3+vite:src使用require動(dòng)態(tài)導(dǎo)入圖片報(bào)錯(cuò)的最新解決方法

    這篇文章主要介紹了vue3+vite:src使用require動(dòng)態(tài)導(dǎo)入圖片報(bào)錯(cuò)和解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Vue2 添加數(shù)據(jù)可視化支持的方法步驟

    Vue2 添加數(shù)據(jù)可視化支持的方法步驟

    這篇文章主要介紹了Vue2 添加數(shù)據(jù)可視化支持的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-01-01

最新評(píng)論

慈利县| 南汇区| 通化市| 三门峡市| 胶州市| 秦皇岛市| 汾西县| 林芝县| 南通市| 石屏县| 扎鲁特旗| 曲靖市| 大宁县| 衡东县| 西乡县| 信宜市| 岗巴县| 关岭| 巫溪县| 共和县| 宝丰县| 沙雅县| 犍为县| 咸阳市| 武平县| 获嘉县| 广昌县| 南康市| 赤壁市| 开远市| 绵竹市| 桐柏县| 左贡县| 马尔康县| 察雅县| 自贡市| 临沂市| 改则县| 衡阳县| 永康市| 昭苏县|