vue页面跳转后返回原页面初始位置方法


Posted in Javascript onFebruary 11, 2018

vue页面跳转到新页面之后,再由新页面返回到原页面时候若想返回调出原页面的初始位置,怎么来解决这个问题呢?首先我们应该在跳出页面时候记录下跳出的scrollY,返回原页面的时候在设置返回位置为记录下的scrolly即可,scrolly我用的是vuex状态管理器来保存的。整个环境是基于vue-cli搭建的

一、main.js里面配置vuex

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

二、main.js里面vuex状态管理

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

这里列举一个listview页面和详情页面,listview页面就是原始页面,listview页面跳转到详情页面,然后返回时候回到跳转到详情页面之前的位置,在listview页面编写代码

beforeRouteLeave(to, from, next) { 
 let position = window.scrollY //记录离开页面的位置 
 if (position == null) position = 0 
 this.$store.commit('changeRecruitScrollY', position) //离开路由时把位置存起来 
 next() 
 }, 
 watch: { 
 '$route' (to, from) { 
 if (to.name === 'NewRecruit') {//跳转的的页面的名称是"NewRecruit",这里就相当于我们listview页面,或者原始页面 
 let recruitScrollY = this.$store.state.recruitScrollY 
 window.scroll(0, recruitScrollY) 
 } 
 } 
 }

四、若要避免created生命周期的执行,可以使用缓存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

以上这篇vue页面跳转后返回原页面初始位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
Oct 08 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
Apr 26 Javascript
js实现手机拍照上传功能
Jan 17 Javascript
node.js中EJS 模板快速入门教程
May 08 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
在vue里使用codemirror遇到的问题
Nov 01 Javascript
js实现通过开始结束控制的计时器
Feb 25 Javascript
微信小程序系列之自定义顶部导航功能
May 21 Javascript
如何在JavaScript中谨慎使用代码注释
Jun 21 Javascript
原生js实现的观察者和订阅者模式简单示例
Apr 18 Javascript
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
使用vue-router设置每个页面的title方法
Feb 11 #Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
Feb 11 #Javascript
ajax请求+vue.js渲染+页面加载的示例
Feb 11 #Javascript
vue.js,ajax渲染页面的实例
Feb 11 #Javascript
Node.js使用MySQL连接池的方法实例
Feb 11 #Javascript
vue中引用阿里字体图标的方法
Feb 10 #Javascript
Express进阶之log4js实用入门指南
Feb 10 #Javascript
You might like
php ajax 静态分页过程形式
2011/09/02 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
2016/11/16 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
用Python实现协同过滤的教程
2015/04/08 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
python多线程之事件Event的使用详解
2018/04/27 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
python实现简单图书管理系统
2019/11/22 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
Pytho爬虫中Requests设置请求头Headers的方法
2020/09/22 Python
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
网上商城创业计划书范文
2014/01/31 职场文书
留学推荐信范文
2014/05/10 职场文书
2014年商场工作总结
2014/11/22 职场文书
师德师风事迹材料
2014/12/20 职场文书
订货会邀请函
2015/01/31 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
高温慰问简报
2015/07/21 职场文书
感恩教师节主题班会
2015/08/12 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python