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

vue3子組件數(shù)據(jù)無(wú)法更新問(wèn)題

 更新時(shí)間:2023年10月07日 10:50:47   作者:嘉然今天刷算法  
這篇文章主要介紹了vue3子組件數(shù)據(jù)無(wú)法更新問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue3子組件數(shù)據(jù)無(wú)法更新

在寫vue3代碼時(shí),遇到了父組件傳值給子組件,但是子組件無(wú)法及時(shí)刷新數(shù)據(jù),父組件數(shù)據(jù)是異步獲取的。

使用了很多方法,froceUpdate(),nextTick之類的方法都試過(guò)了沒(méi)有生效。

所以需要在父組件對(duì)子組件進(jìn)行刷新。

解決思路

利用vue diff算法的特點(diǎn),更新key,強(qiáng)制使子組件刷新

代碼:

//dom
//給需要刷新的子組件加上一個(gè)自定義的key
<v-number :num="memoryNum" :fontSize="28" class="number" :key="keyNum"></v-number>
//ts
//所有數(shù)據(jù)加載完畢之后,更改這個(gè)key即可
let keyNum = ref(0);
onMounted(async () => {
?await init();
?keyNum.value++;
});

vue3子組件數(shù)據(jù)無(wú)法更新

問(wèn)題描述 

子組件接收到父組件傳遞的prop數(shù)據(jù)后,在created 中進(jìn)行一番預(yù)處理,再賦值給模板,而當(dāng)在父組件中改變prop數(shù)據(jù),子組件的視圖未發(fā)生改變。

原因

子組件并沒(méi)有重新加載,所以不會(huì)再次執(zhí)行created或者mounted,子組件也就未處理改變的prop數(shù)據(jù),視圖也就不會(huì)更新。

解決辦法

子組件上加上唯一的key,傳入的props不同時(shí),key值也不同,這樣當(dāng)切換prop數(shù)據(jù)的時(shí)候,由于key不同,vue會(huì)認(rèn)為是兩個(gè)不同的組件,就會(huì)重新執(zhí)行組件的created或者mounted中的操作。

<Child :data="data" :key="data.id"></Child> 

在子組件使用 watch 監(jiān)聽(tīng)(可能需要深度監(jiān)聽(tīng))props傳過(guò)來(lái)的值,如果發(fā)現(xiàn)改變,再次執(zhí)行created或者mounted中的操作。

總結(jié)

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

相關(guān)文章

  • 簡(jiǎn)單實(shí)現(xiàn)vue中的依賴收集與響應(yīng)的方法

    簡(jiǎn)單實(shí)現(xiàn)vue中的依賴收集與響應(yīng)的方法

    這篇文章主要介紹了簡(jiǎn)單實(shí)現(xiàn)vue中的依賴收集與響應(yīng)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • VUE+Element實(shí)現(xiàn)增刪改查的示例源碼

    VUE+Element實(shí)現(xiàn)增刪改查的示例源碼

    這篇文章主要介紹了VUE+Element實(shí)現(xiàn)增刪改查的示例源碼,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-11-11
  • 簡(jiǎn)單談?wù)刅ue3中的ref和reactive

    簡(jiǎn)單談?wù)刅ue3中的ref和reactive

    vue3中實(shí)現(xiàn)響應(yīng)式數(shù)據(jù)的方法是就是使用ref和reactive,所謂響應(yīng)式就是界面和數(shù)據(jù)同步,能實(shí)現(xiàn)實(shí)時(shí)更新,下面這篇文章主要給大家介紹了關(guān)于Vue3中ref和reactive的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Vue3 編寫自定義指令插件的示例代碼

    Vue3 編寫自定義指令插件的示例代碼

    這篇文章主要介紹了Vue3 編寫自定義指令插件的示例代碼,主要包括編寫自定義插件,在 main.ts 中加載啟用插件的代碼介紹,對(duì)Vue3自定義指令插件相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-07-07
  • vue倉(cāng)庫(kù)的使用方式

    vue倉(cāng)庫(kù)的使用方式

    這篇文章主要介紹了vue倉(cāng)庫(kù)的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Vue中keep-alive組件的深入理解

    Vue中keep-alive組件的深入理解

    這篇文章主要給大家介紹了關(guān)于Vue中keep-alive組件的深入理解,文中通過(guò)實(shí)例代碼結(jié)束的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Vue中ref的用法及演示

    Vue中ref的用法及演示

    這篇文章主要介紹了Vue中ref的用法及演示,ref被用來(lái)給元素或子組件注冊(cè)引用信息。引用信息會(huì)被注冊(cè)在父組件上的$refs對(duì)象上,下面來(lái)看看文章的詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • vue中實(shí)現(xiàn)高德定位功能

    vue中實(shí)現(xiàn)高德定位功能

    這篇文章主要介紹了vue中實(shí)現(xiàn)高德定位功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Vue 固定頭 固定列 點(diǎn)擊表頭可排序的表格組件

    Vue 固定頭 固定列 點(diǎn)擊表頭可排序的表格組件

    這篇文章主要介紹了Vue 固定頭 固定列 點(diǎn)擊表頭可排序的表格組件的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Message組件實(shí)現(xiàn)發(fā)財(cái)U(kuò)I?示例詳解

    Message組件實(shí)現(xiàn)發(fā)財(cái)U(kuò)I?示例詳解

    這篇文章主要為大家介紹了Message組件實(shí)現(xiàn)發(fā)財(cái)U(kuò)I的手寫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08

最新評(píng)論