Vue路由this.route.push跳转页面不刷新的解决方案
Vue路由this.route.push跳转页面不刷新
一、背景
介绍:在vue项目开发中,使用路由进行页面跳转时,路由所跳转的页面不进行刷新。
也就是vue生命周期函数没有执行(created、mounted钩子函数)。
案例:
A页面:
B页面:
问题:
当在A页面第一点击按钮到B页面时,一切正常,当返回到A页面再次点击按钮时,B页面没有执行mounted钩子函数,结果导致mounted函数中查询方法不执行。
二、解决方法:
1、使用activated:{}周期函数代替mounted:{}函数即可。
2、监听路由
// 不推荐、用户体验不好 watch: { '$route' (to, from) { // 路由发生变化页面刷新 this.$router.go(0); } },
// 该方法会多一次请求 watch: { '$route' (to, from) { // 在mounted函数执行的方法,放到该处 this.qBankId = globalVariable.questionBankId; this.qBankName = globalVariable.questionBankTitle; this.searchCharpter(); } },
Vue this.$router.push路由跳转,刷新参数消失
this.$router.push({name:"",params:{id:""}})
name和params搭配刷新参数会消失
this.$router.push({path:"",query:{id:""}})
path和query搭配,刷新页面参数不会消失,query中参数成了url中的一部分
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
vue-router路由参数刷新消失的问题解决方法
场景:vue-router实现的单页应用,登录页调用登录接口后,服务器返回用户信息,然后通过router.push({name: 'index', params: res.data})传给主页组件,并在主页显示数据.但是刷新页面后,数据就消失了. 解决方案: 1.session&服务器渲染 传统的方案是,登录页和主页是单独的两个页面,登录成功后服务器生成用户信息对应的session,然后渲染主页数据,并通过响应头将sessionid传给浏览器并生成相应的cookie文件.这样下次请求页面时,浏览
-
vue router带参数页面刷新或回退参数消失的解决方法
写在前面: 传参是前端经常需要用的一个操作,很多场景都会需要用到上个页面的参数,本文将会详细介绍vue router 是如何进行传参的,以及一些小细节问题.有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家. Vue router如何传参 params.query是什么? params:/router1/:id ,/router1/123,/router1/789 ,这里的id叫做params query:/router1?id=123 ,/router1?id=456
-
Vue路由切换页面不更新问题解决方案
前言:vue-router的切换不同于传统的页面的切换.路由之间的切换,其实就是组件之间的切换,不是真正的页面切换.这也会导致一个问题,就是引用相同组件的时候,会导致该组件无法更新,也就是我们口中的页面无法更新的问题了. 一.问题呈现 在路由中进行切换结果 这时候会发现input标签的value值并没有随着路由的改变而改变.并没有更新 二.解决方案① 给<router-view :key="key"></router-view>增加一个不同:key值,这样vue
-
vue-router3.0版本中 router.push 不能刷新页面的问题
在 github 的 vue-router 中找到同样的一个问题:3.0.1版本通过router实例无法跳转 昨天发现有些路由不能正常跳转,找了一下发现都是那些实例化后使用 router.push 而不是直接使用 this.$router.push 的地方. 出现的情况是 router.push 后,url变化了,但是页面没有刷新,手动刷新一下才出现应有的画面. 我看了一下 package.json,我的 vue 和 axios 是没有写版本号,但 vue-router 明明写了版本号,怎么可能
-
解决VUE-Router 同一页面第二次进入不刷新的问题
最近正好遇到一个问题,修改用户的头像,修改后再进入用户主页,发现改了之后即使数据变了..页面也不会重新渲染... 下面提供几种解决方案来给予大家参考: 1. 可以在刷新的页面定义一个参数, 这样每次都会渲染出不同的页面: route 实例化命名配置: { // 用户信息 path: '/accountDetail/:randKey', name: 'accountDetail', component: accountDetail, meta: {requiresAuth: true} }, 跳转
-
Vue路由this.route.push跳转页面不刷新的解决方案
Vue路由this.route.push跳转页面不刷新 一.背景 介绍:在vue项目开发中,使用路由进行页面跳转时,路由所跳转的页面不进行刷新. 也就是vue生命周期函数没有执行(created.mounted钩子函数). 案例: A页面: B页面: 问题: 当在A页面第一点击按钮到B页面时,一切正常,当返回到A页面再次点击按钮时,B页面没有执行mounted钩子函数,结果导致mounted函数中查询方法不执行. 二.解决方法: 1.使用activated:{}周期函数代替mounted:{}函
-
vue 路由视图 router-view嵌套跳转的实现
目录 1.修改app.vue页面 2.创建登录页面(/views/login/login.vue) 2.1.在router/index.js中添加登录页面路由 3.创建主页面(/components/index.vue) 3.1.创建主页面路由 4.修改首页 4.1.开启菜单路由模式,并修改菜单跳转路径 4.2.添加router-view 5.创建两个子页面 目的: 实现功能:制作一个登录页面,跳转到首页,首页包含菜单栏.顶部导航栏.主体,标准的后台网页格式.菜单栏点击不同菜单控制主体展示不同的
-
关于vue路由监听事件跳转的问题
目录 vue路由监听事件跳转 1.监听路由触发事件的语法 2.可能遇到的问题 vue路由监听不到怎么办 方法一 方法二 方法三 vue路由监听事件跳转 1.监听路由触发事件的语法 watch: { $route: function clearSelectionRow() { console.log("success"); this.$emit("setSelectionFile", []); }, } 代码实现功能:当本
-
react 跳转后路由变了页面没刷新的解决方案
目录 问题 解决方案 问题 这样的问题貌似原因还挺多的,我的问题是带参数的url不能刷新,router 5.0版本 ,使用withRouter关联组件进行页面跳转 如下所示 路由代码 解决方案 在路由组件上最上层元素上加一个key增加路由的识别度,因为普通的跳转是根据path来识别的,但是path带上参数时,路由无法精确识别.不过,在跳转页面的时候,每个地址都会在localtion对象里添加一个key.如下打印 // 组件挂载 componentDidMount() { console.log(
-
基于vue循环列表时点击跳转页面的方法
1.在data数组里边添加id(说明:我的是虚拟数据) 2.在点击事件上传入id参数,如下: 3.在methods里边添加点击跳转的方法,不要忘记在function后边的括号内传入id,然后判断如果id==1,就跳转那个页面,id==2跳转那个页面. 至此跳转完成. 附加: 点击返回上一页方法: window.history.go(-1);就是返回上一页.(不要忘记在标签上添加click点击事件) returnS:function () { window.history.go(-1); } 以上
-
Vue项目部署在Spring Boot出现页面空白问题的解决方案
网上流行的解决方案是将assetsPublicPath: '/'改成'./',下面说一下这个解决方案的弊端: 通常页面空白的问题出现大多数是由于Spring Boot端配置了server.servlet.context-path,上下文改变了css, js等文件的访问路径,文件无法加载导致index.html显示空白.'/'改成'./'是将绝对路径变为相对路径,可以动态适应Spring Boot端上下文的改变,这是为什么这个解决方案起作用的原因. Vue项目部署在Spring Boot出现的另一
-
vue项目中路由跳转页面不变问题及解决
目录 vue中路由跳转页面不变 问题 解决方法 路由跳转页面不刷新.this.$router.go(-1)不生效 解决思路 vue中路由跳转页面不变 问题 今天在开发vue移动端项目的过程中发现了一个bug,就是当按返回键的时候页面并没有发生变化,一开始还以为是没有监听到返回事件,但是通过测试之后发现返回事件监听成功了,路由也发生了变化,相应事件也触发了,就是页面视图没有跟着改变. 解决方法 项目中路由设置的是 hash模式,所以对 hashchange 事件进行监听(hash模式下,路由的变化
-
vue路由跳转后刷新指定页面的方法
做项目遇到一个坑:A页面带参跳转到B页面,第二次跳转时的参数与第一次时的参数不同,但是后台查询时还是使用的第一次的参数.需要手动刷新之后,才会使用第二次参数. 鉴于时间原因直接使用刷新页面监听路由的方法.在准备跳转的A页面添加路由跳转监听事件,达到每次A页面跳转B页面时,B页面都会再次重新加载页面. 添加完成后,A页面跳转B页面,B页面成功刷新.正当我高兴的以为又解决了一个bug时,突然发现我从A页面跳转到C页面时,C页面竟然也在发生页面刷新现象.当时着实是将小主吓了一大跳.要知道正是因为要填写
-
vue路由的配置和页面切换详解
1.vue路由 可以实现单页面应用. 路由三要素: vue路由通过hash的变化切换页面(组件/div) <router-link>导航 <router-view>存储页面(组件)的容器 src/router/index.js路由的配置 实现步骤: 2.router配置 对router文件夹下的index.js进行配置 path:url name:对应的参数的模块名称 component:组件名 用组件时一定要注册 { path: '/product', name: 'Produc
-
Vue路由跳转问题记录详解
最近项目上需要用Vue用来做app,在Vue中使用路由时遇到下面的问题. 路由设置如下: { path:'/tab', component:Tab, children:[{ path:'layoutList', name:'LayoutList', component:LayoutList },{ path:'layoutView/:layoutId', name:'LayoutView', component:LayoutView },{ path:'layoutDetail/:viewId'
随机推荐
- javascript结合ajax读取txt文件内容
- 跟老齐学Python之大话题小函数(2)
- Python的Bottle框架中获取制定cookie的教程
- JS定时刷新页面及跳转页面的方法
- Jquery 基础学习笔记
- javascript ES6 新增了let命令使用介绍
- 关于Java数组查询的相关问题及实例 原创
- 利用Java实现简单的词法分析器实例代码
- 关于iOS导航栏返回按钮问题的解决方法
- js由下向上不断上升冒气泡效果实例
- PHP正则匹配日期和时间(时间戳转换)的实例代码
- 九个你必须知道而且又很好用的php函数和特点
- mysql数据库重命名语句分享
- IIS连接数实验(Web开发必读)
- 父页面显示遮罩层弹出半透明状态的dialog
- android使用Messenger绑定Service的多种实现方法
- sencha ext js 6 快速入门(必看)
- 纯javascript模仿微信打飞机小游戏
- 检查并修复mysql数据库表的具体方法
- JavaScript delete操作符应用实例