在原页面中
beforeRouteLeave(to, from, next) {
let position = window.scrollY //记录离开页面的位置
if (position == null) position = 0
store.commit('changeRecruitScrollY', position) //离开路由时把位置存起来
next()
},
在store中
const state = {
config:{
apiUrlRoot:apiUrlRoot
},
recruitScrollY:0
}
const getters = {
recruitScrollY:state => state.recruitScrollY
}
const mutations = {
changeRecruitScrollY(state,recruitScrollY) {
state.recruitScrollY = recruitScrollY
} ,
}
export default new Vuex.Store({
state,
getters,
mutations
})
返回原页面时
watch: {
'$route' (to, from) {
//进入原页面
if (to.name === 'Home') {//跳转的的页面的名称是"NewRecruit",这里就相当于我们listview页面,或者原始页面
let recruitScrollY = store.state.recruitScrollY
window.scroll(0, recruitScrollY)
}
}
},