ref – Vue3 composition(組合式)API

    Vue3組合式API中的ref函數詳解

    ref的意思是引用,reference。

    用來定義常用的基礎類型(String,Number,Boolean等等)

    ref() 創建的響應式數據后會返一個響應式的對象。

    屬性的值需要用?.value?才能訪問到value返回的是Proxy

    ref - Vue3 composition(組合式)API

    將值封裝在一個對象中,看似沒有必要,但為了保持 JavaScript 中不同數據類型的行為統一,這是必須的。這是因為在 JavaScript 中,Number?或?String?等基本類型是通過值而非引用傳遞的

    使用

    接受一個內部值并返回一個響應式且可變的 ref 對象,在setup函數內部訪問ref函數需要加.value, 如果要加類型,要用泛型,不加則會類型推論,也可以不給初始值,則是any,且是undefined:

    const ref1 = ref(1);
    const ref2 = ref<number>(2);
    const ref3 = ref1.value;//不是響應式,相當于變量
    const ref4 = ref();//refs.value是undefined
    ref2.value = 5;//賦值 讀取都要.value

    一般來說,ref只會賦值基礎數據類型和數組,也可以泛型聯合類型 如果將對象分配為ref值,則它將被reactive函數處理為深層的響應式對象:

    //不建議,內部也是reactive處理
    const ref1 = ref({
      a: 10,
    });
    
    //不確定類型
    const ref3 = ref<string | number>();
    ref3.value = 1;
    ref3.value = "";
    
    //數組對象,ts類型聲明,用泛型
    type Obj1 = { c: string };
    type Obj2 = {
      b: string;
      c: Obj1[];
    };
    const ref2 = ref<Obj2[]>([
      {
        b: "",
        c: [{ c: "" }],
      },
    ]);
    

    參考文章

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 无码人妻品一区二区三区精99| 日本精品一区二区三区在线视频| 蜜芽亚洲av无码一区二区三区| 一区二区在线免费视频| 色噜噜AV亚洲色一区二区| 国产精品久久亚洲一区二区 | 国产91精品一区二区麻豆网站| 97一区二区三区四区久久| 熟女少妇精品一区二区| 午夜无码一区二区三区在线观看 | 无码精品一区二区三区在线| 国产一区二区影院| 亚洲欧洲无码一区二区三区| 国产内射999视频一区| 国产激情无码一区二区三区| 亚洲AV无码一区二区三区网址| 91久久精品午夜一区二区| 精品一区二区三区四区| 中文字幕乱码一区二区免费| 狠狠色婷婷久久一区二区三区 | 香蕉久久一区二区不卡无毒影院| 黑人大战亚洲人精品一区| 国产精品主播一区二区| 一区二区三区在线看| 国产美女口爆吞精一区二区| 国产精品 一区 在线| 国产福利电影一区二区三区久久久久成人精品综合 | 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲码一区二区三区| 亚欧成人中文字幕一区| 中文无码精品一区二区三区| 中文人妻无码一区二区三区| 中文字幕精品亚洲无线码一区| 国产福利精品一区二区| 亚洲国产美国国产综合一区二区 | 亚洲色一区二区三区四区| 无码人妻精品一区二区蜜桃| 国内精品视频一区二区八戒| 一区二区三区免费高清视频| 亚洲无人区一区二区三区| 蜜臀Av午夜一区二区三区|