欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、ref( )

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

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

****需要使用 . 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 來獲取值
const name = ref('張三');
const age = ref(20);
const tel = '123xxxxxxxxxx';
const count = ref(0); // 創(chuàng)建一個響應(yīng)式的數(shù)字
const message = ref('Hello, Vue 3!'); // 創(chuàng)建一個響應(yīng)式的字符串

3.  訪問和修改引用的值

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

 4. 在模板中的使用

<template>
// 在模板中,不需要使用 .value 。當(dāng)在模板中使用時,ref 會自動解包
    <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.  與對象的結(jié)合使用

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

當(dāng)我們在模板中使用了 ref 時,在改變了 這個 ref 的值時,Vue 會自動檢測到這個變化,并且相應(yīng)地更新 DOM。

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

二、reactive( ) 

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

使用對象:對象類型

****需要使用 . value 

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • Vuejs如何通過Axios請求數(shù)據(jù)

    Vuejs如何通過Axios請求數(shù)據(jù)

    這篇文章主要介紹了Vuejs如何通過Axios請求數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue?Input輸入框自動獲得焦點的有效方法

    Vue?Input輸入框自動獲得焦點的有效方法

    我們有時候會遇到要輸入框自動獲取焦點的情況,下面這篇文章主要給大家介紹了關(guān)于Vue?Input輸入框自動獲得焦點的簡單方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Vue3 Element Plus表單自定義校驗的實現(xiàn)全過程

    Vue3 Element Plus表單自定義校驗的實現(xiàn)全過程

    這篇文章主要介紹了Vue3 Element Plus表單自定義校驗的實現(xiàn)全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vue.js中導(dǎo)出Excel表格的案例分析

    vue.js中導(dǎo)出Excel表格的案例分析

    這篇文章主要介紹了vue.js中如何導(dǎo)出Excel表格,在項目中經(jīng)常會遇到這樣的需求,今天小編分步驟通過實例代碼給大家詳細(xì)介紹,需要的朋友可以參考下
    2019-06-06
  • 基于 Vue.js 之 iView UI 框架非工程化實踐記錄(推薦)

    基于 Vue.js 之 iView UI 框架非工程化實踐記錄(推薦)

    為了快速體驗 MVVM 模式,我選擇了非工程化方式來起步,并選擇使用 Vue.js,以及基于它構(gòu)建的 iView UI 框架。本文給大家分享基于 Vue.js 之 iView UI 框架非工程化實踐記錄,需要的朋友參考下吧
    2017-11-11
  • vue項目,代碼提交至碼云,iconfont的用法說明

    vue項目,代碼提交至碼云,iconfont的用法說明

    這篇文章主要介紹了vue項目,代碼提交至碼云,iconfont的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 詳談Vue.js框架下main.js,App.vue,page/index.vue之間的區(qū)別

    詳談Vue.js框架下main.js,App.vue,page/index.vue之間的區(qū)別

    這篇文章主要介紹了詳談Vue.js框架下main.js,App.vue,page/index.vue之間的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • antd form表單中如何嵌套自定義組件

    antd form表單中如何嵌套自定義組件

    這篇文章主要介紹了antd form表單中如何嵌套自定義組件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue如何實現(xiàn)多組關(guān)鍵詞對應(yīng)高亮顯示

    vue如何實現(xiàn)多組關(guān)鍵詞對應(yīng)高亮顯示

    這篇文章主要介紹了vue如何實現(xiàn)多組關(guān)鍵詞對應(yīng)高亮顯示問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue自定義render統(tǒng)一項目組彈框功能

    Vue自定義render統(tǒng)一項目組彈框功能

    這篇文章主要介紹了Vue自定義render統(tǒng)一項目組彈框功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論