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 相关文章推荐
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
Dec 20 Javascript
Extjs优化(一)删除冗余代码提高运行速度
Apr 15 Javascript
简述JavaScript对传统文档对象模型的支持
Jun 16 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
Apr 13 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
vue.js实现条件渲染的实例代码
Jun 22 Javascript
Vue数组更新及过滤排序功能
Aug 10 Javascript
vue脚手架及vue-router基本使用
Apr 09 Javascript
vue.js实现图书管理功能
Sep 24 Javascript
VUE中使用HTTP库Axios方法详解
Feb 05 Javascript
在Vue中使用HOC模式的实现
Aug 23 Javascript
使用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在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
解析Python3中的Import
2019/10/13 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
房地产销售计划书
2014/01/10 职场文书
网络技术专业求职信
2014/07/13 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
入党积极分子个人总结
2015/03/02 职场文书
摩登时代观后感
2015/06/03 职场文书
创业计划之特色精品店
2019/08/12 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python
教你一步步实现一个简易promise
2021/11/02 Javascript
mysql sock文件存储了什么信息
2022/07/15 MySQL