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

關(guān)于vue3中的reactive賦值問(wèn)題

 更新時(shí)間:2022年05月25日 09:28:26   作者:可樂(lè)姜汁  
這篇文章主要介紹了關(guān)于vue3中的reactive賦值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue3 reactive賦值問(wèn)題

vue3中直接對(duì)reactive整個(gè)對(duì)象賦值檢測(cè)不到

let obj = reactive({
	name: 'zhangsan',
	age: '18'
})
obj = {
	name: 'lisi'
	age: ''
}
// 上面這樣賦值檢測(cè)不到,因?yàn)轫憫?yīng)式的是它的屬性,而不是它自身
			
// 如需要對(duì) reactive 賦值
// 方法1: 單個(gè)賦值
obj['name'] = 'lisi';
obj['age'] = '';
// 方法2:多包一層
let obj = reactive({
	data: {
		name: 'zhangsan',
		age: '18'
	}
})
obj.data = {
	name: 'lisi'
	age: ''
}

vue3 reactive的坑

最近使用vue3的過(guò)程中發(fā)現(xiàn)reactive有一些問(wèn)題

清空reactive定義的數(shù)組時(shí)必須將length設(shè)為0,直接賦值一個(gè)空數(shù)組是沒(méi)有作用的,同理對(duì)象直接賦值一個(gè)空對(duì)象也沒(méi)有作用,只能遍歷對(duì)象一項(xiàng)一項(xiàng)刪,這里說(shuō)的沒(méi)有作用是不能響應(yīng)式的更新頁(yè)面,如果打印一下是能看到確實(shí)被刪除了,但是頁(yè)面沒(méi)有變化

清空數(shù)組

// 錯(cuò)誤示例
<template>
? <div>{{ arr }}</div>
? <button @click="click">點(diǎn)擊</button>
</template>
?
<script setup>
import { reactive } from 'vue'
let arr = reactive([1, 2, 3])
const click = () => {
? arr = []
? console.log(arr) // 這里打印的結(jié)果是正常的空數(shù)組
}
</script>
// 正確示例
<template>
? <div>{{ arr }}</div>
? <button @click="click">點(diǎn)擊</button>
</template>
?
<script setup>
import { reactive } from 'vue'
let arr = reactive([1, 2, 3])
const click = () => {
? arr.length = 0 // 這里和vue2是正好相反,vue2直接將數(shù)組length設(shè)為0是無(wú)效的
? console.log(arr)
}
</script>

清空對(duì)象

// 錯(cuò)誤示例
<template>
? <div>{{ obj }}</div>
? <button @click="click">點(diǎn)擊</button>
</template>
?
<script setup>
import { reactive } from 'vue'
let obj = reactive({a: 111, b: 222})
const click = () => {
? obj = {}
? console.log(obj) // 這里打印的結(jié)果是正常的空對(duì)象
}
</script>
// 錯(cuò)誤示例
<template>
? <div>
? ? <div>{{ obj }}</div>
? ? <button @click="click">點(diǎn)擊</button>
? </div>
</template>
?
<script setup>
import { reactive } from 'vue'
let arr = reactive({a: xxx, b: xxx })
const click = () => {
? for (let i in obj) {
? ? delete obj[i]
? }
? console.log(obj) // 這里打印的結(jié)果是正常的空數(shù)組
}
</script>

同樣的道理直接賦值也不行,數(shù)組只能用數(shù)組的某些方法,或者直接修改索引,修改索引跟vue2又是相反,vue2只修改索引項(xiàng)沒(méi)有作用,對(duì)象直接使用點(diǎn)語(yǔ)法即可,直接賦一個(gè)對(duì)象沒(méi)有作用

這些問(wèn)題其實(shí)只要使用ref就可以解決,但是人官方推薦使用reactive。。。。

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

相關(guān)文章

  • 一步步教你利用webpack如何搭一個(gè)vue腳手架(超詳細(xì)講解和注釋)

    一步步教你利用webpack如何搭一個(gè)vue腳手架(超詳細(xì)講解和注釋)

    這篇文章主要給大家介紹了軟玉利用webpack如何搭一個(gè)vue腳手架的相關(guān)資料,文中有超詳細(xì)講解和注釋,對(duì)大家學(xué)習(xí)或者使用webpack具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • 淺析vue-router jquery和params傳參(接收參數(shù))$router $route的區(qū)別

    淺析vue-router jquery和params傳參(接收參數(shù))$router $route的區(qū)別

    今天做項(xiàng)目時(shí)踩到了vue-router傳參的坑(jquery和params),所以決定總結(jié)一下二者的區(qū)別。感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • vue實(shí)現(xiàn)全選、反選功能

    vue實(shí)現(xiàn)全選、反選功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)全選、反選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • vue elementUI實(shí)現(xiàn)自定義正則規(guī)則驗(yàn)證

    vue elementUI實(shí)現(xiàn)自定義正則規(guī)則驗(yàn)證

    本文主要介紹了vue elementUI實(shí)現(xiàn)自定義正則規(guī)則驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue使用jsmind實(shí)現(xiàn)生成腦圖的示例代碼

    Vue使用jsmind實(shí)現(xiàn)生成腦圖的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Vue如何使用jsmind實(shí)現(xiàn)生成腦圖,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2024-03-03
  • Vue中?引入使用?babel-polyfill?兼容低版本瀏覽器的方法

    Vue中?引入使用?babel-polyfill?兼容低版本瀏覽器的方法

    最近在項(xiàng)目中使用 webpack 打包后升級(jí),用戶反饋使用瀏覽器(chrome 45)訪問(wèn)白屏。經(jīng)過(guò)排查發(fā)現(xiàn):由于 chrome 45 無(wú)法兼容 ES6 語(yǔ)法導(dǎo)致的,接下來(lái)給大家介紹下Vue中?引入使用?babel-polyfill?兼容低版本瀏覽器方法,需要的朋友可以參考下
    2023-02-02
  • vue2從數(shù)據(jù)變化到視圖變化之diff算法圖文詳解

    vue2從數(shù)據(jù)變化到視圖變化之diff算法圖文詳解

    這篇文章主要介紹了vue2從數(shù)據(jù)變化到視圖變化之diff算法圖文詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 基于Vue3實(shí)現(xiàn)的圖片散落效果實(shí)例

    基于Vue3實(shí)現(xiàn)的圖片散落效果實(shí)例

    最近工作中遇到一個(gè)效果還不錯(cuò),所以想著實(shí)現(xiàn)一下,下面這篇文章主要給大家介紹了關(guān)于如何基于Vue3實(shí)現(xiàn)的圖片散落效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Vue動(dòng)態(tài)組件表格的實(shí)現(xiàn)代碼

    Vue動(dòng)態(tài)組件表格的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Vue動(dòng)態(tài)組件表格的實(shí)現(xiàn)代碼,包括框架結(jié)構(gòu)組件,文中還給大家封裝了幾個(gè)組件,有按鈕組件、圖片組件、滑動(dòng)開(kāi)關(guān),結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • vue render函數(shù)動(dòng)態(tài)加載img的src路徑操作

    vue render函數(shù)動(dòng)態(tài)加載img的src路徑操作

    這篇文章主要介紹了vue render函數(shù)動(dòng)態(tài)加載img的src路徑操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10

最新評(píng)論