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

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

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

reactive定義的引用類型直接賦值導致數(shù)據失去響應式

<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ù)據userMenu將失去響應性。

我們可以按照如下代碼:

<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不會失去響應性,頁面內容也就跟著變化成【1,2,3】

注意:

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

vue3中reactive的理解

1.什么是reactive?

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

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

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

2.reactive注意點

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

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

錯誤示范

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

正確實例

arr正確實例

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

總結

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

相關文章

最新評論

嘉祥县| 马关县| 和硕县| 会宁县| 宝山区| 章丘市| 裕民县| 公主岭市| 太仆寺旗| 横山县| 朔州市| 姚安县| 应用必备| 永定县| 安吉县| 搜索| 武川县| 行唐县| 耒阳市| 叶城县| 东安县| 安远县| 酒泉市| 广安市| 东乌珠穆沁旗| 宜兰市| 宁陵县| 阜新市| 灵宝市| 临颍县| 西吉县| 根河市| 灵宝市| 子长县| 如东县| 黎平县| 登封市| 巩义市| 丹凤县| 历史| 黄冈市|