vue3.2?reactive函數(shù)問題小結(jié)
reactive函數(shù)
上篇文章給大家介紹了Vue中的reactive函數(shù)操作代碼,需要的朋友點(diǎn)擊查看。
reactive用來包裝一個對象,使其每個對象屬性都具有響應(yīng)性(也就是深層次響應(yīng)式)。
- 語法:const 代理對象= reactive(源對象) 。
- 接收一個對象(或數(shù)組),返回一個代理對象(簡稱proxy對象)。
- 內(nèi)部基于 ES6 的 Proxy 實(shí)現(xiàn),通過代理對象操作源對象內(nèi)部數(shù)據(jù)進(jìn)行操作。
注意點(diǎn)1:
問題:reactive函數(shù)使用基本類型數(shù)據(jù)會報警告
![]()
![]()
注意點(diǎn)2:
總結(jié):基礎(chǔ)類型數(shù)據(jù)推薦適用ref函數(shù),引用類型數(shù)據(jù)推薦適用reactive函數(shù)
使用reactive函數(shù)實(shí)現(xiàn)引用數(shù)據(jù)響應(yīng)式數(shù)據(jù)
<script setup>
//數(shù)據(jù)
let job = reactive({
type: '前端工程師',
salary: '20K'
})
//方法
function changeInfo() {
job.type = 'UI設(shè)計師'
job.salary = '30K'
}
</script>如果想使用ref函數(shù)實(shí)現(xiàn)引用數(shù)據(jù)響應(yīng)式,使用job.value
<script setup>
//數(shù)據(jù)
let job = ref({
type: '前端工程師',
salary: '20K'
})
//方法
function changeInfo() {
job.value.type = 'UI設(shè)計師'
job.value.salary = '30K'
}
</script>注意點(diǎn)3:
當(dāng)然也可以把基礎(chǔ)類型數(shù)據(jù)和引用類型數(shù)據(jù)封裝成一個代理對象,通過reactive函數(shù)關(guān)聯(lián),使用起來也很方便,缺點(diǎn)是還是寫了很多person.xxx重復(fù)字符串
<template>
<h1>一個人的信息</h1>
<h2>姓名:{{ person.name }}</h2>
<h2>年齡:{{ person.age }}</h2>
<h3>工作種類:{{ person.job.type }}</h3>
<h3>工作薪水:{{ person.job.salary }}</h3>
<h3>愛好:{{ person.hobby }}</h3>
<h3>測試的數(shù)據(jù)c:{{ person.job.a.b.c }}</h3>
<button @click="changeInfo">修改人的信息</button>
</template>
<script setup>
import { reactive } from "vue";
//數(shù)據(jù)
let person = reactive({
name: "張三",
age: 18,
job: {
type: "前端工程師",
salary: "20K",
a: {
b: {
c: 666,
},
},
},
hobby: ["打球", "跑步", "健身"],
});
//方法
function changeInfo() {
person.name = "李四";
person.age = 50;
person.job.type = "UI設(shè)計師";
person.job.salary = "30K";
person.job.a.b.c = 999;
person.hobby[0] = "學(xué)習(xí)";
}
</script>
到此這篇關(guān)于vue3.2 reactive函數(shù)的文章就介紹到這了,更多相關(guān)vue3.2 reactive函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue ElementUI this.$confirm async await封
這篇文章主要介紹了Vue ElementUI this.$confirm async await封裝方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
vue3.x lodash在項(xiàng)目中管理封裝指令的優(yōu)雅使用
這篇文章主要為大家介紹了vue3.x lodash在項(xiàng)目中管理封裝指令的優(yōu)雅使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Vue中l(wèi)ocalStorage那些你不知道的知識分享
在Vue.js中,?Vuex是一個強(qiáng)大的狀態(tài)管理工具,而localStorage則是一種用于存儲和獲取本地數(shù)據(jù)的機(jī)制,雖然這兩個東西都可以用來存儲數(shù)據(jù),但它們之間還是有很大的區(qū)別,本文就來簡單說說吧2023-05-05
前端vue如何通過URL訪問存儲在服務(wù)器或磁盤的圖片
在Vue中,通常需要將圖片存儲在服務(wù)器端,并通過url地址來訪問,下面這篇文章主要給大家介紹了前端vue如何通過URL訪問存儲在服務(wù)器或磁盤的圖片的相關(guān)資料,需要的朋友可以參考下2024-02-02
ant-design-vue前端UI庫,如何解決Table中時間格式化問題
這篇文章主要介紹了ant-design-vue前端UI庫,如何解決Table中時間格式化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
vue中如何實(shí)現(xiàn)后臺管理系統(tǒng)的權(quán)限控制的方法步驟
這篇文章主要介紹了vue中如何實(shí)現(xiàn)后臺管理系統(tǒng)的權(quán)限控制的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Vuejs2 + Webpack框架里,模擬下載的實(shí)例講解
今天小編就為大家分享一篇Vuejs2 + Webpack框架里,模擬下載的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

