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

Vue?中ref()和?reactive()響應(yīng)式數(shù)據(jù)的使用方法

 更新時(shí)間:2025年01月24日 11:30:42   作者:來(lái)一碗劉肉面  
article介紹Vue3中ref()和reactive()函數(shù)的使用方法,ref()用于創(chuàng)建基本數(shù)據(jù)類型的響應(yīng)式引用,reactive()用于創(chuàng)建響應(yīng)式對(duì)象,本文介紹Vue中ref()和reactive()響應(yīng)式數(shù)據(jù)的使用方法,感興趣的朋友一起看看吧

一、ref( )

在 Vue 3 中,ref() 是一個(gè)用于創(chuàng)建響應(yīng)式引用的函數(shù)。它是 Vue 3 Composition API(組合式API) 的一部分,允許在組件中創(chuàng)建響應(yīng)式數(shù)據(jù)。

使用對(duì)象:基本數(shù)據(jù)類型(String 、Number 、Boolean 、Null 等)、對(duì)象類型

****需要使用 . value 

1.引入ref () 函數(shù)

// 引入
import { ref } from 'vue';

2.  創(chuàng)建響應(yīng)式引用

// 定義 響應(yīng)式數(shù)據(jù)  在 <script> 標(biāo)簽中
// 在 <script> 標(biāo)簽中寫的 JS 代碼 , 都需要寫 .value 來(lái)獲取值
const name = ref('張三');
const age = ref(20);
const tel = '123xxxxxxxxxx';
const count = ref(0); // 創(chuàng)建一個(gè)響應(yīng)式的數(shù)字
const message = ref('Hello, Vue 3!'); // 創(chuàng)建一個(gè)響應(yīng)式的字符串

3.  訪問(wèn)和修改引用的值

// 訪問(wèn)和修改引用的值
// 使用 ref() 創(chuàng)建的響應(yīng)式引用會(huì)返回一個(gè)對(duì)象
// 該對(duì)象有一個(gè) .value 屬性來(lái)訪問(wèn)和修改其值
console.log(count.value); // 0
count.value++; // 修改值
console.log(count.value); // 1

 4. 在模板中的使用

<template>
// 在模板中,不需要使用 .value 。當(dāng)在模板中使用時(shí),ref 會(huì)自動(dòng)解包
    <div class="person">
        <h2>姓名:{
  { name }}</h2>
        <h2>年齡:{
  { age }}</h2>
        <h2>地址:{
  { tel }}</h2>
        <button @click="changeName">修改名字</button>
        <button @click="changeAge">修改年齡</button>
        <button @click="showTel">查看電話</button>
        <p>{
  { count }}</p> <!-- 直接使用 count -->
        <button @click="count++">Increment</button>
    </div>
</template>

5.  與對(duì)象的結(jié)合使用

const user = ref({
  name: 'Alice',
  age: 25,
});
// 訪問(wèn)和修改對(duì)象屬性
console.log(user.value.name); // Alice
user.value.age++; // 修改屬性
console.log(user.value.age); // 26

當(dāng)我們?cè)谀0逯惺褂昧?ref 時(shí),在改變了 這個(gè) ref 的值時(shí),Vue 會(huì)自動(dòng)檢測(cè)到這個(gè)變化,并且相應(yīng)地更新 DOM。

ref ( ) 是基于 reactive( ) 編寫的。  

二、reactive( ) 

Vue 3 中,reactive() 是一個(gè)用于創(chuàng)建響應(yīng)式對(duì)象的函數(shù)。它是 Vue 3 組合式 API 的一部分,允許開(kāi)發(fā)者將普通對(duì)象轉(zhuǎn)換為響應(yīng)式對(duì)象,從而在數(shù)據(jù)變化時(shí)自動(dòng)更新視圖。

使用對(duì)象:對(duì)象類型

****需要使用 . value 

1.導(dǎo)入 reactive ( ) 函數(shù)

// 從 Vue 中導(dǎo)入
import { reactive } from 'vue';

2.創(chuàng)建響應(yīng)式對(duì)象 

// 創(chuàng)建響應(yīng)式對(duì)象
const state = reactive({
    count: 0,
    message: 'Hello, Vue 3!',
});

3.  訪問(wèn)和修改響應(yīng)式屬性

// 訪問(wèn)和修改響應(yīng)式屬性
// 可以像訪問(wèn)普通對(duì)象一樣訪問(wèn)和修改響應(yīng)式對(duì)象的屬性。
// Vue 會(huì)自動(dòng)追蹤這些屬性的變化,并在它們變化時(shí)更新視圖。
console.log(state.count); // 0
state.count++; // 修改屬性
console.log(state.count); // 1

4. 支持嵌套對(duì)象的響應(yīng)性:

const state = reactive({
    user: {
        name: 'Alice',
        age: 25,
    },
});
// 訪問(wèn)嵌套屬性
console.log(state.user.name); // Alice
// 修改嵌套屬性
state.user.age++;
console.log(state.user.age); // 26

三、ref( ) 與 reactive( ) 的區(qū)別:

  • ref() 返回一個(gè)包含 .value 屬性的對(duì)象,而 reactive() 返回的是一個(gè)直接可用的響應(yīng)式對(duì)象。
  • reactive 重新分配一個(gè)新對(duì)象,會(huì)失去響應(yīng)式。(可以使用Object.assign 來(lái)整體替換)。
  • 使用原則:
    • 若需要一個(gè)基本類型的響應(yīng)式數(shù)據(jù),必須使用 ref ; 
    • 若需要一個(gè)響應(yīng)式對(duì)象,層級(jí)不深,ref ,reactive 都可以使用;
    • 若需要一個(gè)響應(yīng)式對(duì)象,且層級(jí)較深,推薦使用 reactive。

到此這篇關(guān)于Vue 中ref( ) 和 reactive( ) 響應(yīng)式數(shù)據(jù)的使用方法的文章就介紹到這了,更多相關(guān)Vue ref( ) 和 reactive( ) 響應(yīng)式數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue extends 屬性的用法示例詳解

    Vue extends 屬性的用法示例詳解

    這篇文章主要為大家介紹了Vue extends 屬性的用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Vue.js中el-table表格自定義列控制與拖拽

    Vue.js中el-table表格自定義列控制與拖拽

    本文主要介紹了Vue.js中el-table表格自定義列控制與拖拽,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Vue的過(guò)濾器你真了解嗎

    Vue的過(guò)濾器你真了解嗎

    這篇文章主要為大家詳細(xì)介紹了Vue的過(guò)濾器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • vue中使用echarts制作圓環(huán)圖的實(shí)例代碼

    vue中使用echarts制作圓環(huán)圖的實(shí)例代碼

    這篇文章主要介紹了vue中使用echarts制作圓環(huán)圖的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • Vue3除了keep-alive還有哪些實(shí)現(xiàn)頁(yè)面緩存詳解

    Vue3除了keep-alive還有哪些實(shí)現(xiàn)頁(yè)面緩存詳解

    Vue3中的keep-alive組件用于緩存頁(yè)面,以便在切換頁(yè)面時(shí)保留其狀態(tài),下面這篇文章主要給大家介紹了關(guān)于Vue3除了keep-alive還有哪些實(shí)現(xiàn)頁(yè)面緩存的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • v-slot和slot、slot-scope之間相互替換實(shí)例

    v-slot和slot、slot-scope之間相互替換實(shí)例

    這篇文章主要介紹了v-slot和slot、slot-scope之間相互替換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 解決vue 退出動(dòng)畫無(wú)效的問(wèn)題

    解決vue 退出動(dòng)畫無(wú)效的問(wèn)題

    這篇文章主要介紹了解決vue 退出動(dòng)畫無(wú)效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • Element el-row el-col 布局組件詳解

    Element el-row el-col 布局組件詳解

    這篇文章主要介紹了Element el-row el-col 布局組件使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue 解決addRoutes多次添加路由重復(fù)的操作

    vue 解決addRoutes多次添加路由重復(fù)的操作

    這篇文章主要介紹了vue 解決addRoutes多次添加路由重復(fù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vue使用$store.commit() undefined報(bào)錯(cuò)的解決

    vue使用$store.commit() undefined報(bào)錯(cuò)的解決

    這篇文章主要介紹了vue使用$store.commit() undefined報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論

东乡县| 夏津县| 崇州市| 永靖县| 武邑县| 壶关县| 阳新县| 蒙阴县| 临澧县| 鱼台县| 金坛市| 逊克县| 尼勒克县| 松原市| 抚松县| 共和县| 揭阳市| 大庆市| 长武县| 内黄县| 隆尧县| 彝良县| 淮阳县| 彩票| 红原县| 仪征市| 虎林市| 夹江县| 绥棱县| 隆回县| 邢台县| 安吉县| 沙雅县| 阳江市| 马公市| 宁德市| 和硕县| 监利县| 阳城县| 胶南市| 土默特右旗|