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

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.  訪問和修改引用的值

// 訪問和修改引用的值
// 使用 ref() 創(chuàng)建的響應(yīng)式引用會(huì)返回一個(gè)對(duì)象
// 該對(duì)象有一個(gè) .value 屬性來(lái)訪問和修改其值
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,
});
// 訪問和修改對(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 的一部分,允許開發(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.  訪問和修改響應(yīng)式屬性

// 訪問和修改響應(yīng)式屬性
// 可以像訪問普通對(duì)象一樣訪問和修改響應(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,
    },
});
// 訪問嵌套屬性
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)文章

最新評(píng)論