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

vue3 銷毀組件方法及問題解決方案

 更新時間:2023年04月25日 16:39:37   作者:fortunate_leixin  
這篇文章主要介紹了vue3 銷毀組件方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

問題描述:使用elementplus的dialog,當關(guān)閉彈窗后不刷新頁面,直接再次打開發(fā)現(xiàn)彈窗中還存留上一次的數(shù)據(jù)。嘗試定義關(guān)閉事件,或者使用api中提供的屬性destroy-on-close 都不行。后來發(fā)現(xiàn)這是一個誤區(qū)。彈窗關(guān)閉時并不代表這個組件已經(jīng)被銷毀了,只是dialog關(guān)閉了
解決方法:使用v-if 控制頁面的創(chuàng)建與銷毀。
由于我這里dailog中的數(shù)據(jù)比較多,所以我抽成了一個組件,在父組件中引用了,但是關(guān)閉彈窗的操作是在子組件的dialog中,所以這里又涉及到了子父組件的傳值。再來復(fù)習一遍~。
ps:我這里的業(yè)務(wù)場景是通過在父頁面點擊按鈕來控制子頁面是否彈出來,所以具體實現(xiàn)是這樣的:
在父頁面中定義一個變量,默認為false,當點擊彈出按鈕時,將這個變量置為true;子頁面中手動觸發(fā)關(guān)閉dialog的事件中,將該變量設(shè)置為false,并將值傳遞待到這個父頁面。
結(jié)構(gòu):
子組件

父組件:

接下來具體實現(xiàn):
子組件:當子組件的dialog手動關(guān)閉時

關(guān)閉方法:
使用defineEmits,定義一個方法,并用一個變量去接收,在關(guān)閉事件中傳遞一個值,為false

const colse = defineEmits(["ok"])
function closeNDialog() {
  colse("ok", false)
}

父頁面:在父頁面引用的子組件中使用v-if綁定是否銷毀標識,并定義方法去接收子組件傳遞過來的布爾值。在父頁面通過點擊button打開子組件的事件中將該值設(shè)置為true,此時子頁面為以創(chuàng)建

<!-- 子組件,使用v-if接收,定義ok方法接收子傳遞過來的布爾值,
       需要注意。ok應(yīng)和子頁面中定義的保持一致,這個e就代表的是子頁面colse方法傳遞過來的值,
       該值為false,然后我們將false賦值給是否銷毀標識
 -->
    <aaa v-if=isExist @ok="e=>isExist=e"></aaa>
	//定義是否銷毀標識,默認為false,代表銷毀
	const isExist = ref(false);

父頁面通過點擊button打開子組件的事件

const showManage = (row) => {
  openDialog({}).then(resp => {
    isExist.value = true
    // 具體業(yè)務(wù)邏輯.....
  })
}

至此就完成了通過v-if 和子父組件傳值的方法來銷毀子頁面的需求,實現(xiàn)了打開子頁面請求數(shù)據(jù)后,再不刷新地址欄的情況下,再次打開子頁面彈窗時,上一次請求的數(shù)據(jù)被清空,相當于重新創(chuàng)建了一個子頁面。但是并不建議這樣做,因為重復(fù)創(chuàng)建dom元素。我這里由于子頁面中數(shù)據(jù)有很多,并且子頁面中還嵌套了子頁面,要想實現(xiàn)清空數(shù)據(jù),目前我想到的解決方法就是創(chuàng)建,銷毀子頁面。歡迎其他大佬指正更好的實現(xiàn)方式。

到此這篇關(guān)于vue3 銷毀組件方法的文章就介紹到這了,更多相關(guān)vue3 銷毀組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue使用swiper.js重疊輪播組建樣式

    vue使用swiper.js重疊輪播組建樣式

    這篇文章主要為大家詳細介紹了vue使用swiper.js重疊輪播組建樣式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 利用vue3+ts實現(xiàn)管理后臺(增刪改查)

    利用vue3+ts實現(xiàn)管理后臺(增刪改查)

    這篇文章主要介紹了利用vue3+ts實現(xiàn)管理后臺(增刪改查),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • vue?element-ui?Radio單選框默認值選不中的原因:混用字符和數(shù)字問題

    vue?element-ui?Radio單選框默認值選不中的原因:混用字符和數(shù)字問題

    這篇文章主要介紹了vue?element-ui?Radio單選框默認值選不中的原因:混用字符和數(shù)字問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 封裝一個Vue文件上傳組件案例詳情

    封裝一個Vue文件上傳組件案例詳情

    這篇文章主要介紹了封裝一個Vue文件上傳組件案例詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 基于cropper.js封裝vue實現(xiàn)在線圖片裁剪組件功能

    基于cropper.js封裝vue實現(xiàn)在線圖片裁剪組件功能

    這篇文章主要介紹了基于cropper.js封裝vue實現(xiàn)在線圖片裁剪組件功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • Vue的Options用法說明

    Vue的Options用法說明

    這篇文章主要介紹了Vue的Options用法說明,具有很好的參考價值,希望對大家有所
    2020-08-08
  • Vue項目請求超時處理方式

    Vue項目請求超時處理方式

    這篇文章主要介紹了Vue項目請求超時處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Vue3中操作dom的四種方式總結(jié)(建議收藏!)

    Vue3中操作dom的四種方式總結(jié)(建議收藏!)

    VUE是通過傳遞一些配置給Vue對象和頁面中引用插值表達式來操作DOM的,下面這篇文章主要給大家介紹了關(guān)于Vue3中操作dom的四種方式總結(jié),文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • 關(guān)于vue-router路徑計算問題

    關(guān)于vue-router路徑計算問題

    這篇文章主要介紹了關(guān)于vue-router路徑計算問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • vue實現(xiàn)折線圖 可按時間查詢

    vue實現(xiàn)折線圖 可按時間查詢

    這篇文章主要為大家詳細介紹了vue實現(xiàn)折線圖,可按時間查詢,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評論