Vue如何實(shí)現(xiàn)前進(jìn)刷新后退不刷新的效果-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Vue如何實(shí)現(xiàn)前進(jìn)刷新后退不刷新的效果,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司主營龍海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),龍海h5小程序制作搭建,龍海網(wǎng)站營銷推廣歡迎龍海等地區(qū)企業(yè)咨詢

需求一:

在一個列表頁中,第一次進(jìn)入的時候,請求獲取數(shù)據(jù)。

點(diǎn)擊某個列表項(xiàng),跳到詳情頁,再從詳情頁后退回到列表頁時,不刷新。

也就是說從其他頁面進(jìn)到列表頁,需要刷新獲取數(shù)據(jù),從詳情頁返回到列表頁時不要刷新。

解決方案在 app.vue 設(shè)置:

<keep-alive include="list">
<router-view/>
</keep-alive>

假設(shè)列表頁為 list.vue ,詳情頁為 detail.vue ,這兩個都是子組件。

我們在 keep-alive 添加列表頁的名字,緩存列表頁。

然后在列表頁的 created 函數(shù)里添加ajax請求,這樣只有第一次進(jìn)入到列表頁的時候才會請求數(shù)據(jù),當(dāng)從列表頁跳到詳情頁,再從詳情頁回來的時候,列表頁就不會刷新。

這樣就可以解決問題了。

需求二:

在需求一的基礎(chǔ)上,再加一個要求:

可以在詳情頁中刪除對應(yīng)的列表項(xiàng),這時返回到列表頁時需要刷新重新獲取數(shù)據(jù)。

我們可以在路由配置文件上對 detail.vue 增加一個 meta 屬性。

{
  path:'/detail',
  name:'detail',
  component:() => import('../view/detail.vue'),
  meta:{ isRefresh:true }
}

這個 meta 屬性,可以在詳情頁中通過 this.$route.meta.isRefresh 來讀取和設(shè)置。 設(shè)置完這個屬性,還要在 App.vue 文件里設(shè)置 watch 一下 $route 屬性。

watch:{
  $route(to, from) {
    const fname = from.name
    const tname = to.name
    if (from.meta.isRefresh || (fname != 'detail' && tname == 'list')) {
      // 在這里重新請求數(shù)據(jù)
      from.meta.isRefresh = false
    }
  }
}

這樣就不需要在列表頁的 created 函數(shù)里用 ajax 來請求數(shù)據(jù)了,統(tǒng)一放在 App.vue 里來處理。

觸發(fā)請求數(shù)據(jù)有兩個條件:

  1. 從其他頁面(除了詳情頁)進(jìn)來列表時,需要請求數(shù)據(jù)。

  2. 從詳情頁返回到列表頁時,如果詳情頁 meta 屬性中的 isRefresh 為 true ,也需求重新請求數(shù)據(jù)。

當(dāng)我們在詳情頁中刪除了對應(yīng)的列表項(xiàng)時,就可以將詳情頁 meta 屬性中的 isRefresh 設(shè)為 true 。這時再返回到列表頁,頁面會重新刷新。

vue是什么

Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫只關(guān)注視圖層,方便與第三方庫和項(xiàng)目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復(fù)雜的單頁應(yīng)用。

關(guān)于“Vue如何實(shí)現(xiàn)前進(jìn)刷新后退不刷新的效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

當(dāng)前文章:Vue如何實(shí)現(xiàn)前進(jìn)刷新后退不刷新的效果-創(chuàng)新互聯(lián)
文章起源:http://muchs.cn/article14/hoode.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化網(wǎng)站設(shè)計、品牌網(wǎng)站設(shè)計用戶體驗(yàn)、靜態(tài)網(wǎng)站網(wǎng)站內(nèi)鏈

廣告

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

成都seo排名網(wǎng)站優(yōu)化