vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么-創(chuàng)新互聯(lián)

這篇文章主要介紹了vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站專注于融水企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都商城網(wǎng)站開發(fā)。融水網(wǎng)站建設(shè)公司,為融水等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

問題

通常在后臺(tái)管理項(xiàng)目中,對(duì)數(shù)據(jù)進(jìn)行增刪改查是常規(guī)操作。在進(jìn)行這些操作后,需要手動(dòng)刷新才能更新列表。本文主要討論進(jìn)行增刪改查相關(guān)操作后如何使當(dāng)前頁面顯示操作后的最新數(shù)據(jù)。

解決方案 || 以刪除為例:

1.強(qiáng)制刷新:this.$forceUpdate()

2.使用window.reload( ) 或 router.go(0),但會(huì)使整個(gè)瀏覽器進(jìn)行重載,頁面閃爍。

3.重新調(diào)用接口:但性能較差,代碼冗長(zhǎng)。

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

4.provide / inject :(推薦)

點(diǎn)此查看VUE官方解釋:

允許一個(gè)祖先組件向其所有子孫后代注入一個(gè)依賴,不論組件層次有多深,并在其上下游關(guān)系成立的時(shí)間里始終生效。

首先在App.vue全局設(shè)置provide

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

在需要刷新的操作頁面內(nèi)注入inject:[‘reload']

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

在調(diào)用接口操作成功后 this.reload( )

比如在刪除接口調(diào)用成功后:

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

劃重點(diǎn)

provide:一個(gè)對(duì)象或返回一個(gè)對(duì)象的函數(shù)。該對(duì)象包含可注入其子孫的屬性。

inject:一個(gè)字符串?dāng)?shù)組,或一個(gè)對(duì)象,對(duì)象的 key 是本地的綁定名。

$nextTick(點(diǎn)擊查看vue相關(guān)文檔)

除此之外,provide和inject的用法主要是:在父組件中通過provider來提供變量,然后在子組件中通過inject來注入變量。

需要注意的是這里不論子組件有多深,只要調(diào)用了inject那么就可以注入provider中的數(shù)據(jù)。而不是局限于只能從當(dāng)前父組件的prop屬性來獲取數(shù)據(jù)。

補(bǔ)充知識(shí):vue主動(dòng)刷新頁面及列表數(shù)據(jù)刪除后的刷新方法

1.場(chǎng)景

在處理列表時(shí),常常有刪除一條數(shù)據(jù)或者新增數(shù)據(jù)之后需要重新刷新當(dāng)前頁面的需求。

2.遇到的問題

1. 用vue-router重新路由到當(dāng)前頁面,頁面是不進(jìn)行刷新的

2.采用window.reload(),或者router.go(0)刷新時(shí),整個(gè)瀏覽器進(jìn)行了重新加載,閃爍,體驗(yàn)不好

3.解決方法

provide / inject 組合

作用:允許一個(gè)祖先組件向其所有子孫后代注入一個(gè)依賴,不論組件層次有多深,并在起上下游關(guān)系成立的時(shí)間里始終生效。

App.vue:

聲明reload方法,控制router-view的顯示或隱藏,從而控制頁面的再次加載

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

tableList.vue:

在頁面注入App.vue組件提供(provide)的 reload 依賴,在邏輯完成之后(刪除或添加...),直接this.reload()調(diào)用,即可刷新當(dāng)前頁面。

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

4.provide / inject 用法

provide:選項(xiàng)應(yīng)該是一個(gè)對(duì)象或返回一個(gè)對(duì)象的函數(shù)。該對(duì)象包含可注入其子孫的屬性。

inject:一個(gè)字符串?dāng)?shù)組,或一個(gè)對(duì)象,對(duì)象的 key 是本地的綁定名

提示:provide 和 inject 綁定并不是可響應(yīng)的。這是刻意為之的。如果你傳入了一個(gè)可監(jiān)聽的對(duì)象,那么其對(duì)象的屬性還是可響應(yīng)的。

深入理解數(shù)據(jù)驅(qū)動(dòng)

以上算是開發(fā)過程中的一個(gè)坑,用了一段時(shí)間,今天再讀代碼的時(shí)候,感覺被坑的很嚴(yán)重。

1. 獲取列表方法

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

2.重新獲取數(shù)據(jù)

vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么

3.這樣再次調(diào)用獲取數(shù)據(jù),即可同步實(shí)現(xiàn)頁面數(shù)據(jù)更新(不會(huì)重新刷新頁面),同時(shí)保證有分頁時(shí),能夠停留在當(dāng)前頁(刷新前如果是第二頁,刷新后依然在第二頁),

即其他查詢條件保持不變,體驗(yàn)效果好!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!

分享標(biāo)題:vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁面的方法是什么-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article40/dhsjeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、域名注冊(cè)、搜索引擎優(yōu)化品牌網(wǎng)站建設(shè)、企業(yè)建站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司