本文實例講述了vue實現(xiàn)路由不變的情況下,刷新頁面操作。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)專注于福建網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供福建營銷型網(wǎng)站建設(shè),福建網(wǎng)站制作、福建網(wǎng)頁設(shè)計、福建網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造福建網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供福建網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。背景1:在vue寫的后臺管理項目中,經(jīng)常會有增、刪、改、查的操作,這些操作只是跟用接口跟后臺交互下
既然用接口交互,那肯定就是axios的異步請求,那么就是說后臺數(shù)據(jù)發(fā)生了改變,但是前臺的數(shù)據(jù)并沒有實時的更新(每次操作完后臺把列表數(shù)據(jù)重新返給你例外,但是這樣的話每次交互的數(shù)據(jù)量就偏大了)
背景2:在使用動態(tài)路由配置 /detail/:id 這樣的情況下,由于 router-view 是復(fù)用的,單純的改變 id 的值并不會刷新 router-view
所以就要想一個辦法,讓后臺執(zhí)行完操作后,給前臺返一個操作結(jié)果,然后前臺手動刷新頁面
一開始我想到的是用 window.location.reload()
或者 this.$router.go(0)
這兩個方法,但是后來發(fā)現(xiàn)這兩個方法會有短暫的白屏?xí)r間,用戶體驗并不太好,所以就放棄了,看了下別人的做法,整理下面兩種方法:
一、用中轉(zhuǎn)站的方式
這種方式意思就是讓每次操作完成以后,都讓路由跳轉(zhuǎn)到這個中轉(zhuǎn)站頁面,然后這個頁面獲取到進來路由的路徑再返回去就可以了,這種方式可以作為解決方法之一,普遍用的還是第二種。
二、provide / inject 的方式
這種方式,就是讓通過 provide 讓 App.vue 為所有子孫頁面注入一個 reload 的方法,然后在需要使用的頁面,通過 inject 注入即可,代碼如下:
App.vue
<template> <div id="app"> <router-view v-if="isRouterAlive"></router-view> </div> </template>
網(wǎng)頁題目:vue實現(xiàn)路由不變的情況下,刷新頁面操作示例-創(chuàng)新互聯(lián)
新聞來源:http://www.rwnh.cn/article42/dsceec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、外貿(mào)建站、微信小程序、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容