總結VUE幾種頁面重新整理方法

2021-08-22 13:26:13 字數 1142 閱讀 2597

有時候在頁面裡做了某些操作以後,需要頁面重新整理一下來重新獲取資料。試了幾種方法,以下總結:

1、this.$router.go(0)

這種方法頁面會一瞬間的白屏,體驗不是很好,雖然只是一行**的事

2、location.reload()

這種也是一樣,畫面一閃,效果總不是很好

3、跳轉空白頁再跳回原頁面

在需要頁面重新整理的地方寫上:this.$router.push('/emptypage'),跳轉到乙個空白頁。在emptypage.vue裡beforerouteenter鉤子裡控制頁面跳轉,從而達到重新整理的效果

beforerouteenter (to, from, next) )

}。這種畫面雖不會一閃,但是能看見路由快速變化。

4、控制的顯示隱藏

預設isrouteralive肯定是true,在需要重新整理的時候把這個值設為false,接著再重新設為true:

this.isrouteralive = false

this.$nexttick(function () )

這種方法從畫面上是看不出破綻的。也可以搭配provide、inject使用。例如:

然後在需要重新整理的頁面引入依賴:inject: ['reload'],

在需要執行的地方直接呼叫方法即可:this.reload()。

後來發現,我的需求不通過重新整理頁面也可以解決,就是利用vue元件通訊,監聽事件發生,然後重新調一下獲取資料的介面就行。

也就是說:

1、給vue的原型上新增乙個bus屬性

main.js:vue.prototype.$bus = new vue()

2、home頁面進行修改個人資料操作時觸發事件,

home.vue: changeprofile ()

mounted () )

},

對於我的需求來說,頁面重新整理的第四種方法和利用元件通訊都能解決我的問題,前者更簡單後者更專業,也更強大。

小夥伴們可以參考vue官方文件:$dispatch 和 $broadcast 替換

總結VUE幾種頁面重新整理方法

有時候在頁面裡做了某些操作以後,需要頁面重新整理一下來重新獲取資料。試了幾種方法,以下總結 1 this.router.go 0 這種方法頁面會一瞬間的白屏,體驗不是很好,雖然只是一行 的事 2 location.reload 這種也是一樣,畫面一閃,效果總不是很好 3 跳轉空白頁再跳回原頁面 在需...

總結VUE幾種頁面重新整理方法

總結vue幾種頁面重新整理方法 vue router巢狀路由,預設子路由設定 原生js實現乙個無縫輪播圖外掛程式 支援vue vue2.0做移動端開發用到的相關外掛程式和經驗總結 2 vue外掛程式開發練習 實用彈窗 writing a very plugin in vue.js example v...

vue頁面重新整理方法

有時候在頁面裡做了某些操作以後,需要頁面重新整理一下來重新獲取資料。試了幾種方法,以下總結 1 this.router.go 0 這種方法頁面會一瞬間的白屏,體驗不是很好,雖然只是一行 的事 2 location.reload 這種也是一樣,畫面一閃,效果總不是很好 3 跳轉空白頁再跳回原頁面 在需...