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将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
Mar 04 Javascript
JavaScript编程中布尔对象的基本使用
Oct 25 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
深入理解$.each和$(selector).each
May 15 Javascript
jQuery UI结合Ajax创建可定制的Web界面
Jun 22 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
Oct 15 Javascript
javascript流程控制语句集合
Sep 18 Javascript
Javascript三种字符串连接方式及性能比较
May 28 Javascript
js+canvas实现两张图片合并成一张图片的方法
Nov 01 Javascript
Vue-resource安装过程及使用方法解析
Jul 21 Javascript
JavaScript中ES6规范中let和const的用法和区别
Aug 06 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的call_user_func传reference引发的思考
2010/07/23 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
linux iconv方法的使用
2011/10/01 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP7变量处理机制修改
2021/03/09 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
Django中的forms组件实例详解
2018/11/08 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
Python中的类与类型示例详解
2019/07/10 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
HTML5样式控制示例代码
2013/11/27 HTML / CSS
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
社区学习十八大感想
2014/01/22 职场文书
无毒社区工作方案
2014/05/23 职场文书
音乐节策划方案
2014/06/09 职场文书
计划生育工作汇报
2014/10/28 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书