vue3中如何使用ref和reactive定義和修改響應(yīng)式數(shù)據(jù)(最新推薦)
需求:vue3中setup組合式api中如何定義響應(yīng)式數(shù)據(jù)并且修改賦值呢?
1、字符串/數(shù)字:“ref”是vue3中用來存儲值的響應(yīng)式數(shù)據(jù)源,它可以定義字符串,數(shù)字等
<script setup>
import { ref } from 'vue'
// “ref”是用來存儲值的響應(yīng)式數(shù)據(jù)源。
// 理論上我們在展示該字符串的時候不需要將其包裝在 ref() 中,
const message = ref('Hello World!')
// 但是在這個示例中更改這個值的時候,就可以實現(xiàn)數(shù)據(jù)和頁面響應(yīng)式綁定了。
function changeMsg(data){
//message=data 這種是不行的,無法實現(xiàn)雙向綁定
message.value=data
}
</script>
<template>
<h1>{{ message }}</h1>
<button @click="changeMsg('數(shù)據(jù)修改')">Reverse Message</button>
</template>2、數(shù)組/對象:引入 reactive 用來定義對象數(shù)據(jù)包括數(shù)組和對象
vue3使用proxy,對于對象和數(shù)組都不能直接整個賦值
<script setup>
import { reactive} from 'vue'
const arr = reactive([]);
const arr2=reactive({arr:[]});
const load = () => {
const res = [2, 3, 4, 5]; //假設(shè)請求接口返回的數(shù)據(jù)
//方法1 失敗,直接賦值丟失了響應(yīng)性
arr = res;
// 方法2 這樣也是失敗
arr.concat(res);
// 方法3 成功 插入數(shù)據(jù),修改數(shù)據(jù)屬性,但是很麻煩
res.forEach(e => {
arr.push(e);
});
// 方法4 成功
arr.value =res
//方法5 成功
arr2.arr = res
};
</script>
<template>
<h1>Demo</h1>
</template>這里就是vue3中setup組合式api中如何定義響應(yīng)式數(shù)據(jù)并且修改賦值全部內(nèi)容了
到此這篇關(guān)于vue3中如何使用ref和reactive定義和修改響應(yīng)式數(shù)據(jù)的文章就介紹到這了,更多相關(guān)vue3響應(yīng)式數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue3.0使用ref和reactive來創(chuàng)建響應(yīng)式數(shù)據(jù)
- Vue3中使用ref與reactive創(chuàng)建響應(yīng)式數(shù)據(jù)的示例代碼
- Vue3 響應(yīng)式數(shù)據(jù) reactive使用方法
- vue3 reactive定義的引用類型直接賦值導(dǎo)致數(shù)據(jù)失去響應(yīng)式問題
- Vue3關(guān)于響應(yīng)式數(shù)據(jù)類型詳解(ref、reactive、toRef、及toRefs)
- Vue 中 reactive創(chuàng)建對象類型響應(yīng)式數(shù)據(jù)的方法
相關(guān)文章
Vue2中pinia刷新后數(shù)據(jù)丟失的問題解決
Pinia是一個Vue.js狀態(tài)管理庫,如果你在組件中修改了store中的數(shù)據(jù)并刷新了界面,Pinia會將store中的數(shù)據(jù)重置為初始值,從而導(dǎo)致數(shù)據(jù)丟失的問題,本文就來介紹一下問題解決,感興趣的可以了解一下2023-12-12
vue 中動態(tài)綁定class 和 style的方法代碼詳解
這篇文章主要介紹了vue 中動態(tài)綁定class 和 style的方法,通過實例結(jié)合的形式給大家接受的非常詳細(xì),需要的朋友參考下吧2018-06-06
Vue中使用 setTimeout() setInterval()函數(shù)的問題
這篇文章主要介紹了Vue中使用 setTimeout() setInterval()函數(shù)的問題 ,需要的朋友可以參考下2018-09-09
vue項目使用luckyexcel預(yù)覽excel表格功能(心路歷程)
這篇文章主要介紹了vue項目使用luckyexcel預(yù)覽excel表格,我總共嘗試了2種方法預(yù)覽excel,均可實現(xiàn),還發(fā)現(xiàn)一種方法可以實現(xiàn),需要后端配合,叫做KKfileview,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10

