鍍金池/ 問答/HTML/ vue router使用 keep-alive,頁面不刷新

vue router使用 keep-alive,頁面不刷新

為了提升應(yīng)用的體驗,在項目中使用了keep-alive去保存頁面的狀態(tài),但是遇到一個問題,等我底部tab欄對應(yīng)的組件使用keep-alive是,我從登錄頁面登錄成功后跳轉(zhuǎn)到首頁,但是首頁并沒有刷新,tab欄對應(yīng)的三個頁面的狀態(tài)都是之前保存下來的,但是我從登錄頁面到首頁是使用:

this.$router.push({path: '/index'})

正常來說是應(yīng)該進(jìn)入到一個全新的index頁面啊,但是實際上tab欄對應(yīng)的三個頁面都是未登錄之前的頁面,并沒有刷新,有大神知道是什么原因嗎?

底部tab欄代碼:
clipboard.png

底部tab欄對應(yīng)的路由配置:
clipboard.png

底部tab欄的樣式:
clipboard.png

App.vue的代碼
clipboard.png

回答
編輯回答
鐧簞噯

你是在created中拿的數(shù)據(jù)吧。
keep-alive本來就不會更新,因為是復(fù)用呀,跳回之前開過的路由就直接掛載上了,不會重新創(chuàng)建。
keep-alive更新需要用這個生命周期activated

2018年1月15日 21:48
編輯回答
空白格

使用了keep-alive數(shù)據(jù)是不會自動刷新的了,數(shù)據(jù)緩存起來復(fù)用的呢,所以你要做個判斷什么時候要刷新,返回不刷新,你可以在activated這個鉤子里判斷是否返回來的,是不刷新,不是就刷新

2017年11月1日 00:57