最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

在vue中如何實(shí)現(xiàn)頁面跳轉(zhuǎn)后返回原頁面初始位置

來源:懂視網(wǎng) 責(zé)編:小OO 時(shí)間:2020-11-27 19:40:34
文檔

在vue中如何實(shí)現(xiàn)頁面跳轉(zhuǎn)后返回原頁面初始位置

vue頁面跳轉(zhuǎn)到新頁面之后,再由新頁面返回到原頁面時(shí)候若想返回調(diào)出原頁面的初始位置,怎么來解決這個(gè)問題呢?首先我們應(yīng)該在跳出頁面時(shí)候記錄下跳出的scrollY,返回原頁面的時(shí)候在設(shè)置返回位置為記錄下的scrolly即可,scrolly我用的是vuex狀態(tài)管理器來保存的。整個(gè)環(huán)境是基于vue-cli搭建的。一、main.js里面配置vuex。//引用vuex import Vuex from ';vuex';Vue.use(Vuex)。二、main.js里面vuex狀態(tài)管理。
推薦度:
導(dǎo)讀vue頁面跳轉(zhuǎn)到新頁面之后,再由新頁面返回到原頁面時(shí)候若想返回調(diào)出原頁面的初始位置,怎么來解決這個(gè)問題呢?首先我們應(yīng)該在跳出頁面時(shí)候記錄下跳出的scrollY,返回原頁面的時(shí)候在設(shè)置返回位置為記錄下的scrolly即可,scrolly我用的是vuex狀態(tài)管理器來保存的。整個(gè)環(huán)境是基于vue-cli搭建的。一、main.js里面配置vuex。//引用vuex import Vuex from ';vuex';Vue.use(Vuex)。二、main.js里面vuex狀態(tài)管理。

下面我就為大家分享一篇vue頁面跳轉(zhuǎn)后返回原頁面初始位置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。

vue頁面跳轉(zhuǎn)到新頁面之后,再由新頁面返回到原頁面時(shí)候若想返回調(diào)出原頁面的初始位置,怎么來解決這個(gè)問題呢?首先我們應(yīng)該在跳出頁面時(shí)候記錄下跳出的scrollY,返回原頁面的時(shí)候在設(shè)置返回位置為記錄下的scrolly即可,scrolly我用的是vuex狀態(tài)管理器來保存的。整個(gè)環(huán)境是基于vue-cli搭建的

一、main.js里面配置vuex

//引用vuex 
import Vuex from 'vuex' 
Vue.use(Vuex)

二、main.js里面vuex狀態(tài)管理

var store = new Vuex.Store({ 
 state: { 
 recruitScrollY:0 
 }, 
 getters: { 
 recruitScrollY:state => state.recruitScrollY 
 }, 
 mutations: { 
 changeRecruitScrollY(state,recruitScrollY) { 
 state.recruitScrollY = recruitScrollY 
 } 
 }, 
 actions: { 
 
 }, 
 modules: {} 
})

三、這里列舉一個(gè)listview頁面和詳情頁面,listview頁面就是原始頁面,listview頁面跳轉(zhuǎn)到詳情頁面,然后返回時(shí)候回到跳轉(zhuǎn)到詳情頁面之前的位置,在listview頁面編寫代碼

beforeRouteLeave(to, from, next) { 
 let position = window.scrollY //記錄離開頁面的位置 
 if (position == null) position = 0 
 this.$store.commit('changeRecruitScrollY', position) //離開路由時(shí)把位置存起來 
 next() 
 }, 
 watch: { 
 '$route' (to, from) { 
 if (to.name === 'NewRecruit') {//跳轉(zhuǎn)的的頁面的名稱是"NewRecruit",這里就相當(dāng)于我們listview頁面,或者原始頁面 
 let recruitScrollY = this.$store.state.recruitScrollY 
 window.scroll(0, recruitScrollY) 
 } 
 } 
 }

四、若要避免created生命周期的執(zhí)行,可以使用緩存keepAlive,這里也分享一下

(1)App.vue template

<keep-alive v-if="$route.meta.keepAlive"> 
 <router-view></router-view> 
 </keep-alive> 
 <router-view v-if="!$route.meta.keepAlive"></router-view>

(2)router index.js

Vue.use(Router) 
 
const routerApp = new Router({ 
 routes: [{ 
 { 
 path: '/NewRecruit', 
 name: 'NewRecruit', 
 component: NewRecruit, 
 meta: { 
 keepAlive: true 
 } 
 }, 
 { 
 path: '/NewRecruitDesc/:id', 
 name: 'NewRecruitDesc', 
 component: NewRecruitDesc, 
 meta: { 
 keepAlive: true 
 } 
 }, 
 { 
 path: '/SubmitSucess', 
 name: 'SubmitSucess', 
 component: SubmitSucess, 
 meta: { 
 keepAlive: false 
 } 
 } 
 ] 
}) 
 
export default routerApp

上面是我整理給大家的,希望今后會(huì)對(duì)大家有幫助。

相關(guān)文章:

在vue移動(dòng)端中實(shí)現(xiàn)日期選擇組件

使用node實(shí)現(xiàn)內(nèi)置調(diào)試

react webpack打包后的文件(詳細(xì)教程)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

在vue中如何實(shí)現(xiàn)頁面跳轉(zhuǎn)后返回原頁面初始位置

vue頁面跳轉(zhuǎn)到新頁面之后,再由新頁面返回到原頁面時(shí)候若想返回調(diào)出原頁面的初始位置,怎么來解決這個(gè)問題呢?首先我們應(yīng)該在跳出頁面時(shí)候記錄下跳出的scrollY,返回原頁面的時(shí)候在設(shè)置返回位置為記錄下的scrolly即可,scrolly我用的是vuex狀態(tài)管理器來保存的。整個(gè)環(huán)境是基于vue-cli搭建的。一、main.js里面配置vuex。//引用vuex import Vuex from ';vuex';Vue.use(Vuex)。二、main.js里面vuex狀態(tài)管理。
推薦度:
標(biāo)簽: VUE 頁面 頁面返回
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top