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

vue3 reactive定義的引用類型直接賦值導(dǎo)致數(shù)據(jù)失去響應(yīng)式問題

 更新時間:2023年06月06日 11:29:45   作者:禿頭小寶貝@  
這篇文章主要介紹了vue3 reactive定義的引用類型直接賦值導(dǎo)致數(shù)據(jù)失去響應(yīng)式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

reactive定義的引用類型直接賦值導(dǎo)致數(shù)據(jù)失去響應(yīng)式

<script setup>
import {reactive,onMounted} from 'vue'
const userMenu=reactive([])
onMounted(()=>{
	userMenu=[1,2,3]
})
</script>
<template>
	<div>示例:{{userMenu}}</div>
</template>
<style>
</style>

如上代碼,我們定義了一個userMenu的reactive數(shù)組,我們在onMounted生命周期直接給userMenu重新賦值為【1,2,3】,但是我們打開頁面顯示的仍然是之前的空數(shù)組

 這是因為,reactive定義的數(shù)組或者對象,不能直接賦值修改,否則定義的數(shù)據(jù)userMenu將失去響應(yīng)性。

我們可以按照如下代碼:

<script setup>
import {reactive,onMounted} from 'vue'
const userMenu=reactive({
	arr:[]
})
onMounted(()=>{
	userMenu.arr=[1,2,3]
})
</script>
<template>
	<div>示例:{{userMenu.arr}}</div>
</template>
<style>
</style>

將空數(shù)組作為對象的一個屬性,我們直接修改arr屬性為【1,2,3】,此時userMenu不會失去響應(yīng)性,頁面內(nèi)容也就跟著變化成【1,2,3】

注意:

vue3中reactive定義的引用類型直接賦值導(dǎo)致數(shù)據(jù)失去響應(yīng)式,我們可以通過修改對象的屬性的形式,實現(xiàn)修改數(shù)據(jù)

vue3中reactive的理解

1.什么是reactive?

reactive是Vue3中提供實現(xiàn)響應(yīng)式數(shù)據(jù)的方法.

在Vue2中響應(yīng)式數(shù)據(jù)是通過defineProperty來實現(xiàn)的.

而在Vue3響應(yīng)式數(shù)據(jù)是通過ES6的Proxy來實現(xiàn)的

2.reactive注意點

reactive參數(shù)必須是對象(json/arr)

如果給reactive傳遞了其他對象,默認(rèn)情況下修改對象,界面不會自動更新,如果想更新,可以通過重新賦值的方式.

錯誤示范

當(dāng)傳遞的是非對象時,頁面不會發(fā)生響應(yīng)

正確實例

arr正確實例

傳入數(shù)組會轉(zhuǎn)成proxy對象

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

方山县| 固始县| 芷江| 福建省| 兰州市| 西乌珠穆沁旗| 沂水县| 邓州市| 沁阳市| 常山县| 隆尧县| 红河县| 贵定县| 方城县| 喀喇| 石河子市| 富蕴县| 仁化县| 淮南市| 子长县| 三台县| 葫芦岛市| 榆林市| 洛宁县| 姜堰市| 清水县| 马山县| 沧源| 新蔡县| 紫阳县| 永嘉县| 玛沁县| 惠来县| 中卫市| 柳林县| 浮梁县| 永靖县| 泰和县| 仲巴县| 普陀区| 怀宁县|