国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue3中ref和reactive聯(lián)系與區(qū)別以及如何選擇

這篇具有很好參考價(jià)值的文章主要介紹了vue3中ref和reactive聯(lián)系與區(qū)別以及如何選擇。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

vue3中ref和reactive區(qū)別與聯(lián)系

區(qū)別

1、ref既可定義基本數(shù)據(jù)類型,也可以定義引用數(shù)據(jù)類型,reactive只能定義應(yīng)用數(shù)據(jù)類型
2、ref在js中取響應(yīng)值需要使用 .value,而reactive則直接取用既可
3、ref定義的對象通過.value重新分配新對象時依舊保持?jǐn)?shù)據(jù)響應(yīng)式,而reactive重新分配新對象會失去響應(yīng)式
4、使用ref定義引用數(shù)據(jù)類型時,通過watch監(jiān)聽該響應(yīng)式對象如果未配置deep: true,當(dāng)改變對象屬性時,不會觸發(fā)watch,只有重新分配新對象才會觸發(fā)watch,配置deep: true才會觸發(fā),且會導(dǎo)致newVal和oldVal是一樣的,(因?yàn)閣atch監(jiān)聽的是地址,只改變屬性值時地址是不變的);而reactive定義的對象默認(rèn)開啟deep: true,且無法關(guān)閉,改變對象屬性,會觸發(fā)watch。

例子

// 例1:(區(qū)別1)
let name = ref('張三');
let userInfo = ref({age: 18, address: '北京市天安門'});
let studyInfo = reactive({school: '清北大學(xué)', score: 100});

// 例2:(區(qū)別2)
name.value;  // 張三
userInfo.value.age; // 18
userInfo.value.address;  // 北京市天安門
studyInfo.school;  // 清北大學(xué)
studyInfo.score; // 100

// 例3:(區(qū)別3)
name.value = "zhangsan";  // 頁面上的數(shù)據(jù)會響應(yīng)式更新,張三 --> zhangsan
userInfo.value = {age: 22, address: '上海市陸家嘴'};  // 頁面也會響應(yīng)式更新userInfo的相關(guān)數(shù)據(jù)
studyInfo = {school: '復(fù)交大學(xué)', score: 99};  // 頁面不會響應(yīng)式更新studyInfo,但是js里的studyInfo 實(shí)際是變了的
// 解決studyInfo失去響應(yīng)式的問題
Object.assign(studyInfo, {school: '復(fù)交大學(xué)', score: 99});  // 這樣就可以響應(yīng)式更新了
// 錯誤寫法
studyInfo = reactive({school: '復(fù)交大學(xué)', score: 99});  // studyInfo實(shí)際已經(jīng)是個新reactive對象了

聯(lián)系

ref定義的引用數(shù)據(jù)類型,實(shí)際也在內(nèi)部調(diào)用了reactive,value中返回的依舊是個proxy
vue3中ref和reactive聯(lián)系與區(qū)別以及如何選擇,前端,vue,前端,vue.js

補(bǔ)充

如果使用ref不想手敲.value時,可以在volar插件中配置 Dot Value,勾選上,會自動給你補(bǔ)齊.value

開發(fā)中如何選擇ref還是reactive

1、定義基本數(shù)據(jù)類型必須用ref;
2、定義層級不深的響應(yīng)式對象ref和reactive均可;
3、定義層級比較深的響應(yīng)式對象,推薦使用reactive;
4、定義表單的話推薦使用reactive。
以上只是建議,非強(qiáng)制性。
歡迎補(bǔ)充指正文章來源地址http://www.zghlxwxcb.cn/news/detail-822235.html

到了這里,關(guān)于vue3中ref和reactive聯(lián)系與區(qū)別以及如何選擇的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 詳解vue3中ref和reactive用法和區(qū)別

    詳解vue3中ref和reactive用法和區(qū)別

    ref 和 reactive 是 Vue3 中用來實(shí)現(xiàn)數(shù)據(jù)響應(yīng)式的API,一般情況下, ref 定義基本數(shù)據(jù)類型, reactive 定義引用數(shù)據(jù)類型。 理解: ref 的參數(shù)一般是基本數(shù)據(jù)類型,也可以是對象類型;如果參數(shù)是對象類型,其實(shí)底層的本質(zhì)還是 reactive ,系統(tǒng)就會自動將 ref 轉(zhuǎn)換為 reactive ;我們?nèi)绻?/p>

    2024年02月11日
    瀏覽(19)
  • 觀Vue3 官網(wǎng),淺談ref和reactive的區(qū)別。

    觀Vue3 官網(wǎng),淺談ref和reactive的區(qū)別。

    ????????在組合式 API 中,推薦使用?ref()?函數(shù)來聲明響應(yīng)式狀態(tài)。 ref() ?接收參數(shù),并將其包裹在一個帶有? .value ?屬性的 ref 對象中返回。 注意,在模板中使用 ref 時,我們不需要附加? .value 。為了方便起見,當(dāng)在模板中使用時,ref 會自動解包 (有一些注意事項(xiàng))。 ?

    2024年01月16日
    瀏覽(21)
  • 【vue3.0中ref與reactive的區(qū)別及使用】

    ref與reactive都是Vue3.0中新增的API,用于響應(yīng)式數(shù)據(jù)的處理。 ref是一個函數(shù),可以用于將一個普通的數(shù)據(jù)類型轉(zhuǎn)換成響應(yīng)式數(shù)據(jù)。ref返回一個包含value屬性的對象,通過修改value屬性的值,可以觸發(fā)組件更新。 使用方式如下: reactive是一個函數(shù),用于將一個普通的對象轉(zhuǎn)換成響

    2024年02月11日
    瀏覽(21)
  • vue3中,ref()、reactive()、computed()、watch() 和 watchEffect()的區(qū)別

    ref()、reactive()、computed()、watch() 和 watchEffect() 是 Vue 3 中常用的響應(yīng)式處理函數(shù),它們的主要區(qū)別如下: ref():ref() 函數(shù)用于將一個普通的 JavaScript 值轉(zhuǎn)化為響應(yīng)式對象。它返回一個具有 value 屬性的對象,我們可以通過訪問 value 屬性來獲取或修改值。當(dāng)我們對 ref() 返回的對象

    2024年02月22日
    瀏覽(28)
  • 關(guān)于 Vue3 響應(yīng)式 API 以及 reactive 和 ref 的用法

    關(guān)于 Vue3 響應(yīng)式 API 以及 reactive 和 ref 的用法

    這篇文章記錄一下 Vue3 響應(yīng)式的內(nèi)容,其中還包括了 reactive 和 ref 的用法。響應(yīng)式是一種允許以聲明式的方式去適應(yīng)變化的編程范例,接下來我們一起看看。 Vue 框架的特點(diǎn)之一就是響應(yīng)式。 Vue 2.x 是基于 Object.defineProperty() 方法實(shí)現(xiàn)響應(yīng)式。但是 Object.defineProperty() 方法有一定

    2024年02月12日
    瀏覽(31)
  • 【vue3】vue3的三種寫法(附帶provide/inject、toRefs說明、ref,reactive的區(qū)別)

    【vue3】vue3的三種寫法(附帶provide/inject、toRefs說明、ref,reactive的區(qū)別)

    寫法一(vue3的寫法) toRefs定義: toRefs可以將對象(只能接收rective對象)中的屬性變成響應(yīng)式。 正常reactive對象數(shù)據(jù)也是響應(yīng)式的,如果用toRefs解構(gòu)出去會更加方便。 toRefs什么時候用? 數(shù)據(jù)量如果很多, 我們一般會用解構(gòu)來簡化代碼, 那么在vue3 中如果使用對象的解構(gòu),

    2024年02月13日
    瀏覽(25)
  • vue3 #ref #reactive

    一、ref 函數(shù)將簡單類型的數(shù)據(jù)包裝為響應(yīng)式數(shù)據(jù) import { ref?} from \\\'vue\\\'? const count = ref(10) 一、reactive函數(shù)將復(fù)雜類型的數(shù)據(jù)包裝為響應(yīng)式數(shù)據(jù) import { reactive} from \\\'vue\\\'? const obj= reactive({ ? ? name : \\\'zs\\\', ? ? age : 18 })

    2024年02月22日
    瀏覽(24)
  • vue 04-reactive與ref的選擇

    reactive與re兩者區(qū)別? reactive 可以轉(zhuǎn)換對象成為響應(yīng)式數(shù)據(jù)對象,但是 不支持簡單數(shù)據(jù) 類型 ref 可以轉(zhuǎn)換簡單數(shù)據(jù)類型為響應(yīng)式數(shù)據(jù)對象,也 支持復(fù)雜數(shù)據(jù)類型 ,但是操作的時候需要.value 推薦使用的話: 如果能 確定數(shù)據(jù)是對象且字段名稱也確定 ,可以使用reactive轉(zhuǎn)成響應(yīng)式數(shù)據(jù)

    2024年02月11日
    瀏覽(18)
  • Vue3 ref與reactive

    Vue3 ref與reactive

    在當(dāng)今Web開發(fā)領(lǐng)域中,構(gòu)建交互性強(qiáng)、可復(fù)用且易于維護(hù)的用戶界面是至關(guān)重要的。而Vue.js作為一款現(xiàn)代化且流行的JavaScript框架,正是為了滿足這些需求而誕生。它采用了MVVM架構(gòu)模式,并通過數(shù)據(jù)驅(qū)動和組件化的方式,使我們能夠更輕松地構(gòu)建出優(yōu)雅而高效的Web應(yīng)用程序。

    2024年01月24日
    瀏覽(19)
  • vue3使用ref和reactive

    vue3使用ref和reactive

    目錄 ??????? vue3使用ref和reactive的方法 1.ref 2.reactive Vue 3 使用 ref 和 reactive 創(chuàng)建響應(yīng)式對象的完整示例: 1.示例 2.示例說明 vue3使用ref和reactive的方法 Vue 3引入了兩個新的API, ref 和 reactive ,用于創(chuàng)建響應(yīng)式對象。這兩個方法都位于 Vue.prototype 上,因此可以在組件實(shí)例

    2024年02月08日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包