欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3中reactive響應(yīng)式失效的解決方案

 更新時(shí)間:2023年08月29日 09:31:17   作者:巧克力小貓?jiān)? 
這篇文章主要給大家分享Vue3中reactive響應(yīng)式失效的問(wèn)題的解決方法,文中有詳細(xì)的解決方案供大家參考,如果又遇到一樣問(wèn)題的同學(xué),可以借鑒閱讀本文

情景闡述

彈窗內(nèi)部有一個(gè)挑選框,要通過(guò)請(qǐng)求接口獲取挑選框下面可供選擇的數(shù)據(jù)。

這是一個(gè)很簡(jiǎn)單的情境,我立刻有了自己的思路。如果實(shí)現(xiàn)搜索,數(shù)據(jù)較少可以直接用elementplus自帶的filter。如果數(shù)據(jù)較多,就需要傳val,在后臺(tái)進(jìn)行搜索,然后分頁(yè)渲染。我選擇的是前者,所以只需要把數(shù)據(jù)渲染上去就可以。

我的做法也很標(biāo)準(zhǔn),我定義了一個(gè)option,因?yàn)楂@取的一定是個(gè)數(shù)組類型的數(shù)據(jù),里面會(huì)有對(duì)象,對(duì)象中的屬性是label。就類似于這種:

const pingminOptions = reactive([
	{
		value: '',
		label: ''
	}
])

做好一切準(zhǔn)備工作后,我就請(qǐng)求后端接口,拿到了一個(gè)新的數(shù)組。并把數(shù)組的值賦值給了pingminOptiions。

隨后發(fā)現(xiàn)響應(yīng)式出現(xiàn)問(wèn)題,數(shù)據(jù)更改成功,但是沒有辦法實(shí)現(xiàn)在頁(yè)面上渲染。(數(shù)據(jù)的單向綁定出現(xiàn)問(wèn)題)

發(fā)現(xiàn)問(wèn)題的過(guò)程

我和我的組長(zhǎng)一起改了很久,因?yàn)榍懊娴娜说拇a很亂,一開始都是用let來(lái)定義,所以看不出問(wèn)題。但是一旦是const就出現(xiàn)報(bào)錯(cuò)。

const報(bào)錯(cuò),說(shuō)明這個(gè)引用型數(shù)據(jù)的存放位置都發(fā)生了變化。

前面我們定義了一個(gè)響應(yīng)式數(shù)據(jù)pingminOptions,如果我們獲取到的是data.records。那么:

pingminOptions = data.records

這樣的做法,會(huì)導(dǎo)致數(shù)據(jù)存放位置發(fā)生變化,而且原先的data.records并不是一個(gè)響應(yīng)式數(shù)據(jù),所以新定義的pingminOptions的響應(yīng)式也失效了。

正確做法

正確的做法,我們可以給pingmingOptions中:

const pingmingOptions = {
	option: []
}

定義一個(gè)option來(lái)存放數(shù)據(jù)。接著我們就可以把data.records的值給option。

為什么要這么做?

這么做的原因是,用reactive定義出來(lái)的數(shù)據(jù),內(nèi)部的對(duì)象或者數(shù)組也是響應(yīng)式的,它是深層次的。所以我們不用擔(dān)心pingmingOptions的響應(yīng)式失效問(wèn)題。

關(guān)于toRefs

在和組長(zhǎng)交流的過(guò)程中,我們也曾一度考慮是不是沒有用到toRefs的問(wèn)題,于是也復(fù)習(xí)了toRefs。toRefs的作用,一般用于解構(gòu)。

比如我的state對(duì)象中有很多數(shù)據(jù),有state.a,state.b,state.c。

我在渲染頁(yè)面的時(shí)候,每次都要帶上state。非常的不方便。因此就可以toRefs(state),這樣的話,相當(dāng)于給a,b,c都變成了一個(gè)響應(yīng)式的屬性。那么我們?cè)谑褂玫臅r(shí)候,模板語(yǔ)法中可以直接把a(bǔ),b,c寫出來(lái)。這樣就方便了書寫。

需要注意的是,僅僅是在頁(yè)面渲染的時(shí)候才能簡(jiǎn)寫。

到此這篇關(guān)于Vue3中reactive響應(yīng)式失效的解決方案的文章就介紹到這了,更多相關(guān)Vue3 reactive響應(yīng)式失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3+TS reactive設(shè)定類型方式

    vue3+TS reactive設(shè)定類型方式

    這篇文章主要介紹了vue3+TS reactive設(shè)定類型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue 實(shí)現(xiàn) ios 原生picker 效果及實(shí)現(xiàn)思路解析

    vue 實(shí)現(xiàn) ios 原生picker 效果及實(shí)現(xiàn)思路解析

    這篇文章主要介紹了vue 實(shí)現(xiàn) ios 原生picker 效果及實(shí)現(xiàn)思路解析,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • vue全局實(shí)現(xiàn)數(shù)字千位分隔符格式

    vue全局實(shí)現(xiàn)數(shù)字千位分隔符格式

    這篇文章主要為大家詳細(xì)介紹了vue全局實(shí)現(xiàn)數(shù)字千位分隔符格式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue計(jì)算屬性get和set用法示例

    vue計(jì)算屬性get和set用法示例

    這篇文章主要介紹了vue計(jì)算屬性get和set用法,結(jié)合實(shí)例形式分析了計(jì)算屬性的功能及get和set用法的具體使用技巧,需要的朋友可以參考下
    2019-02-02
  • VUE接入騰訊驗(yàn)證碼功能(滑塊驗(yàn)證)備忘

    VUE接入騰訊驗(yàn)證碼功能(滑塊驗(yàn)證)備忘

    這篇文章主要介紹了VUE接入騰訊驗(yàn)證碼功能(滑塊驗(yàn)證)備忘,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • vue-cli + sass 的正確打開方式圖文詳解

    vue-cli + sass 的正確打開方式圖文詳解

    本文通過(guò)圖文并茂的形式給大家介紹了vue-cli + sass 的正確打開方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-10-10
  • Vue3子組件watch無(wú)法監(jiān)聽父組件傳遞的屬性值的解決方法

    Vue3子組件watch無(wú)法監(jiān)聽父組件傳遞的屬性值的解決方法

    這篇文章主要介紹了Vue3子組件watch無(wú)法監(jiān)聽父組件傳遞的屬性值的解決方法,文中通過(guò)代碼示例講解的講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-10-10
  • Vue+Echarts繪制餅圖的示例詳解

    Vue+Echarts繪制餅圖的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Vue和Echarts實(shí)現(xiàn)繪制餅圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-03-03
  • 利用Vue.js指令實(shí)現(xiàn)全選功能

    利用Vue.js指令實(shí)現(xiàn)全選功能

    最近做了兩個(gè)vue的項(xiàng)目,都需要實(shí)現(xiàn)全選反選的功能,兩個(gè)項(xiàng)目用了兩種實(shí)現(xiàn)方法,第一個(gè)項(xiàng)目用vue的computed,第二個(gè)項(xiàng)目用指令來(lái)實(shí)現(xiàn),用起來(lái),發(fā)覺指令更加方便。下面就來(lái)介紹如何利用指令來(lái)實(shí)現(xiàn)全選。
    2016-09-09
  • vue3集成bpmn.js詳細(xì)代碼示例

    vue3集成bpmn.js詳細(xì)代碼示例

    bpmn.js是一個(gè)BPMN2.0渲染工具包和web建模器,使得畫流程圖的功能在前端來(lái)完成,這篇文章主要給大家介紹了關(guān)于vue3集成bpmn.js的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01

最新評(píng)論