vue通過路由實現(xiàn)頁面刷新的方法
vue 開發(fā)微信商城項目,
需求如下:
購物車頁面跳轉(zhuǎn)到詳情頁,購物車頁面包含了多個組件,點擊結(jié)算跳轉(zhuǎn)到訂單頁面,從訂單返回時,購物車頁面沒有刷新,由于購物車組件之間通過bus實現(xiàn)事件傳遞,頁面跳轉(zhuǎn)(非物理返回)無法觸發(fā)beforeDestroy方法,則無法再此方法中銷毀bus方法
beforeDestroy() {
this.$root.Bus.$off('judge')
this.$root.Bus.$off('refreshDetail')
this.$root.Bus.$off('clearAll')
this.$root.Bus.$off('upDataCart')
},
無奈,通過beforeRouteLeave來銷毀
beforeRouteLeave(to, from, next) {
this.$root.Bus.$off('judge')
this.$root.Bus.$off('refreshDetail')
this.$root.Bus.$off('clearAll')
this.$root.Bus.$off('upDataCart')
next()
},
同樣的,物理返回時無法觸發(fā)購物車的created方法,則無法觸發(fā)bus的$on方法
歸根結(jié)底,物理返回時刷新頁面則可以處理此問題
思路一
beforeRouteEnter(to, from, next) {
next(()=>{
window.location.reload()
})
},
此方法理論貌似可行,但是頁面會狂刷不止,
最后采用了思路二,貌似是一個很low的方法,但是解決了實際問題
this.$router.replace({ name: 'cart' })// 處理返回刷新問題
this.$router.push({
path: '/order/order_sure',
query: {
sku: sku_str,
cart: 'cart'
}
})
頁面跳轉(zhuǎn)前先通過路由replace到當前頁,再跳轉(zhuǎn)到訂單頁面,返回可以自動刷新了,這個方法并不理想,如果您有更好的方法,歡迎分享
有專門的方法處理此問題,在購物車頁面,添加如下代碼即可
// 銷毀組件,返回刷新
deactivated() {
this.$destroy()
},
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue操作下拉選擇器獲取選擇的數(shù)據(jù)的id方法
今天小編就為大家分享一篇vue操作下拉選擇器獲取選擇的數(shù)據(jù)的id方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
element-vue實現(xiàn)網(wǎng)頁鎖屏功能(示例代碼)
這篇文章主要介紹了element-vue實現(xiàn)網(wǎng)頁鎖屏功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11
關(guān)于element-ui?select?下拉框位置錯亂問題解決
這篇文章主要介紹了關(guān)于element-ui?select?下拉框位置錯亂問題解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
詳解vue axios用post提交的數(shù)據(jù)格式
這篇文章主要介紹了詳解vue axios用post提交的數(shù)據(jù)格式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08

