亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue.js 中 ref 和 reactive 的區(qū)別及用法解析

 更新時間:2024年09月19日 09:59:32   作者:陳小唬  
在Vue.js中,ref主要用于創(chuàng)建響應式的引用,通過.value屬性來訪問和修改值,特別適用于需要頻繁更改整個值的場景,而reactive則用于創(chuàng)建深度響應的對象或數組,本文給大家介紹Vue.js 中 ref 和 reactive 的區(qū)別及用法,感興趣的朋友跟隨小編一起看看吧

Vue.js 中 refreactive 的區(qū)別及用法

ref

  • 目的:創(chuàng)建一個對值的響應式引用。
  • 用法:通過 .value 屬性來訪問和修改值。
  • 示例
import { ref } from 'vue';
const count = ref(0);
count.value++;  // 增加值
console.log(count.value);  // 訪問值

直接賦值數組ref 創(chuàng)建的是一個包含 .value 屬性的對象,這個 .value 屬性持有實際的數據。無論如何改變這個 .value 的內容,Vue 都能檢測到變化并進行更新。

import { ref } from 'vue';
const city1List = ref([]);
onMounted(() => {
  getCityByPid(0).then(res => {
    city1List.value = res.data.data;  // 直接賦值新數組
    console.log(city1List.value);  // 訪問數組內容
  });
});

reactive

  • 目的:創(chuàng)建一個深度響應的對象或數組。
  • 用法:直接修改響應對象或數組的屬性。
  • 示例
import { reactive } from 'vue'; const state = reactive({ count: 0 }); 
state.count++; // 增加 
count console.log(state.count); // 訪問 count

不能直接賦值數組reactive 創(chuàng)建的是一個深度響應的對象或數組,Vue 只跟蹤創(chuàng)建時的對象引用。如果直接重新賦值一個新的對象或數組,Vue 將無法跟蹤新的引用,因為新的引用不會被自動轉換為響應式對象。

import { reactive } from 'vue';
let city1List = reactive([]); 
onMounted(() => { 
getCityByPid(0).then(res => 
     { city1List.splice(0, city1List.length, ...res.data.data); // 使用數組方法修改內容 
     console.log(city1List); // 訪問數組內容 
   }); 
);

關鍵區(qū)別和最佳實踐

ref

創(chuàng)建一個響應式引用。使用 .value 來訪問和修改值??梢灾苯油ㄟ^ .value 重新賦值新的數組或對象。

reactive

  • 創(chuàng)建一個深度響應的對象或數組。
  • 直接修改對象或數組的屬性或元素。
  • 不能直接重新賦值整個對象或數組,而需要修改其內部的屬性或元素。

實際解決方案

使用 reactive 更新數組時,可以使用 splice 清除并替換元素,這樣保持了對原始響應數組的引用,Vue 會繼續(xù)跟蹤其內容的變化。

import { reactive } from 'vue';
let city1List = reactive([]);
onMounted(() => {
  getCityByPid(0).then(res => {
    city1List.splice(0, city1List.length, ...res.data.data);  // 清除現有數組并添加新項目
    console.log(city1List);  // 訪問數組內容
  });
});

總結

ref 適用于需要頻繁更改整個值的場景,因為它可以直接賦值新的數組或對象。

reactive 適用于需要深度響應的對象或數組,在修改其內部屬性或元素時能保持響應性。

到此這篇關于Vue.js 中 ref 和 reactive 的區(qū)別及用法的文章就介紹到這了,更多相關Vue.js ref 和 reactive用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue插槽原理與用法詳解

    Vue插槽原理與用法詳解

    這篇文章主要介紹了Vue插槽原理與用法,結合實例形式詳細分析了vue.js插槽內容、具名插槽、作用域插槽等相關原理與使用方法,需要的朋友可以參考下
    2019-03-03
  • vue2.x與vue3.x中自定義指令詳解(最新推薦)

    vue2.x與vue3.x中自定義指令詳解(最新推薦)

    vue自定義指令(2.x丨3.x)可以幫助我們實現需要操作,比如防抖、節(jié)流、懶加載、輸入框自動聚焦等等,使用起來非常方便,比如vue自帶的v-text、v-html、v-show、v-if等等,這篇文章主要介紹了vue2.x與vue3.x中自定義指令詳解,需要的朋友可以參考下
    2022-12-12
  • 如何解決模塊““vue“”沒有導出的成員“ref”問題

    如何解決模塊““vue“”沒有導出的成員“ref”問題

    這篇文章主要介紹了如何解決模塊““vue“”沒有導出的成員“ref”問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vue動態(tài)設置路由權限的主要思路

    vue動態(tài)設置路由權限的主要思路

    這篇文章主要給大家介紹了關于vue動態(tài)設置路由權限的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 用了這么久的Vue3你真的了解Proxy了嗎

    用了這么久的Vue3你真的了解Proxy了嗎

    Proxy是ES6引入的一個新特性,它允許你創(chuàng)建一個代理對象,用于攔截對目標對象的訪問,但用了這么久的vue3,你真的懂Proxy嗎,本文就來和大家深入聊聊Proxy吧
    2023-06-06
  • Vue3 + MybatisPlus實現批量刪除功能(詳細代碼)

    Vue3 + MybatisPlus實現批量刪除功能(詳細代碼)

    這篇文章主要介紹了Vue3 + MybatisPlus實現批量刪除功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • VUE項目中加載已保存的筆記實例方法

    VUE項目中加載已保存的筆記實例方法

    在本篇文章里小編給大家整理了一篇關于VUE項目中加載已保存的筆記實例方法,有興趣的讀者們可以參考下。
    2019-09-09
  • vue中關于template報錯等問題的解決

    vue中關于template報錯等問題的解決

    這篇文章主要介紹了vue中關于template報錯等問題的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 如何在Vue中實現登錄驗證功能(代碼示例)

    如何在Vue中實現登錄驗證功能(代碼示例)

    Vue是一種流行的JavaScript框架,可以幫助開發(fā)者建立高效的Web應用程序,本文將為您介紹如何在Vue中實現登錄驗證功能,并為您提供具體的代碼示例,感興趣的朋友一起看看吧
    2023-11-11
  • vue框架和react框架的區(qū)別以及各自的應用場景使用

    vue框架和react框架的區(qū)別以及各自的應用場景使用

    這篇文章主要介紹了vue框架和react框架的區(qū)別以及各自的應用場景使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論