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 相关文章推荐
js利用div背景,做一个竖线的效果。
Nov 22 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
Jan 17 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
May 20 Javascript
JavaScript手机振动API
Jun 11 Javascript
javascript js 操作数组 增删改查的简单实现
Jun 20 Javascript
bootstrap multiselect下拉列表功能
Aug 22 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
Dec 09 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合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
php使用GeoIP库实例
2014/06/27 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
php网页病毒清除类
2014/12/08 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
jQuery 常见学习网站与参考书
2009/11/09 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
JSON字符串和JSON对象相互转化实例详解
2017/01/05 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
跟老齐学Python之Import 模块
2014/10/13 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
python pandas时序处理相关功能详解
2019/07/03 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
土木工程专业个人求职信
2013/12/05 职场文书
《盲人摸象》教学反思
2014/02/16 职场文书
火锅店营销方案
2014/02/26 职场文书
销售经理竞聘书
2014/03/31 职场文书
爱之链教学反思
2014/04/30 职场文书
行政撤诉申请书
2015/05/18 职场文书
python munch库的使用解析
2021/05/25 Python
JavaScript获取URL参数的方法分享
2022/04/07 Javascript