vue第二次ajax失效,解决VUE-Router 同一页面第二次进入不刷新的问题
最近正好遇到一个问题,修改用户的头像,修改后再进入用户主页,发现改了之后即使数据变了。。页面也不会重新渲染。。。
下面提供几种解决方案来给予大家参考:
1. 可以在刷新的页面定义一个参数, 这样每次都会渲染出不同的页面:
route 实例化命名配置:
{
// 用户信息
path: '/accountDetail/:randKey',
name: 'accountDetail',
component: accountDetail,
meta: {requiresAuth: true}
},
跳转 的地方配置:
var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
var maxLength = 15;
var res = '_jsonpphotochange';
for (var i = 0; i < maxLength; i++) {
var id = Math.ceil(Math.random() * 35);
res += chars[id];
}
// res 为随机字符串,下面是跳转:
this.$router.push('/accountDetail/' + paramsAccount);
2. 可以让全局的页面都重载,这个比较狠冗余也多,慎重点用:
在App.vue下修改:
// import {mapState} from 'vuex';
export default {
name: 'app',
computed: {
key() {
return this.$route.name !== undefined ? this.$route.name + new Date() : this.$route + new Date();
}
}
};
// 就是在template下加一对标签 加上key的属性,不过官网说 如果防止组件的复用就用这个 还是比较推荐这个方法的。
3. watch 来检测路由变化。。缺点是,有时候会莫名出现 点两次的情况,也就是你要跳转会跳转两次。。有人说是进来会执行一次跳转回执行一次,不过我觉得不太像。。希望有能人士指点。。:
watch: {
'$route' (to, from) {
this.httpGetUserInfo(); // 这是我ajax获取用户信息的方法
}
}
// 这样每次路由执行就会运行这个方法,第一次打开不会运行,你需要用created()方法来执行下ajax方法。
补充知识:vue页面跳转parmas传参之刷新页面参数丢失问题解决方法
说在前面:
今天遇到一个问题,通过vue的parmas传参,跳转到相应页面后,F5刷新传过来的参数就会消失。尝试改成query传参,但由于项目的路由不能带参数,不然刷新会找不到页面。百度了很长时间,尝试了很多次,最后找到了一个方法,记一下,以备以后需要。(主要是实在搞不懂vuex 感觉还是local storage好理解一些。。。)
1.utils文件夹下新建localstorage.js文件
2.在需要保存值的文件里引入localstorage.js并通过db.save进行保存数据
3.在跳转到的页面引入localstorage.js并通过db.get获取数据
以上这篇解决VUE-Router 同一页面第二次进入不刷新的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2020-07-22
vue第二次ajax失效,解决VUE-Router 同一页面第二次进入不刷新的问题相关推荐
- vue中封装ajax请求方法,Vue如何封装ajax
Vue如何封装ajax 发布时间:2020-12-07 11:09:07 来源:亿速云 阅读:123 作者:小新 这篇文章主要介绍Vue如何封装ajax,文中介绍的非常详细,具有一定的参考价值,感兴趣 ...
- vue请求接口有时候404_解决vue请求接口第一次成功,第二次失败问题
使用vue去请求接口发现问题来了: 我请求只能请求一次,然后在按按钮去请求的时候发现 502(这个是接口定义的)502就是传了空的值过来 这个是其中一种情况,还有别的情况 你看了 大可试试我这样的办法 ...
- vue赋值与ajax什么区别,Vue中ajax返回的结果赋值
这是第二次在项目中遇到此问题,ajax请求成功后在success函数中为Vue实例data里的变量赋值,却失败了 new Vue({ el:'#app', data:{ msg:'' }, creat ...
- vue父组件ajax改变数据,vue父组件传了变量给子组件,改变子组件的对象时,父组件也跟着改变...
1.问题场景 首先我在父页面引用了一个子组件,当点击的时候我会传值给子组件 showItem(stepJsonItem: any) { var viewDlg = this.$refs.viewIte ...
- vue限制点击次数_解决vue 按钮多次点击重复提交数据问题
这个其实是一个很细节的问题. 如果我们操作一个按钮,然后在按钮点击的时候绑定事件. 事件分为两种情况: •第一种: 不操作数据型 •第二种: 操作数据型 点击 这里我们通过控制isDisable 来设 ...
- vue 打开html流_解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题...
Vue项目运行npm run build后会生成一个dist文件夹,我们一般都是把这个文件夹部署到服务器上.dist文件夹里边有一个static文件和一个index.html页面,这个index就是最 ...
- 【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案
[写在前面]vue3在vscode运行正常.build后在IDEA运行正常,但是当部署在服务器上运行发现样式加载不出来,下面我们针对这些情况进行复现与解决. 一.问题分析 困扰我好久,当即百度原因,百 ...
- 二、Vue(发送AJAX请求、Vue生命周期、计算属性、属性和方法、自定义指令、过渡(动画))
一. 发送AJAX请求 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 axios是一个基于Promise的HTTP请求客户端,用 ...
- vue三种ajax请求方式,vue请求数据的三种方式
请求数据的方式: vue-resource 官方提供的 vue的一个插件 axios fetch-jsonp 一,vue-resource请求数据 介绍:vue-resource请求数据方式是官方提供 ...
最新文章
- koa2 mysql sequelize_Vue2+Koa2+Typescript前后端框架教程--05Sequelize(ORM)的使用实现基础的班级增删...
- Spring Boot使用Redis进行消息的发布订阅
- HUST-2015 Multi-University Training Contest 9
- 关于 ApacheCN 未来发展的思考 2019.5.20
- 自由在博客里插入广告,有钱你不赚吗???
- AcWing1083. Windy数(数位DP)题解
- Rabin-Karp算法详解和实现(python)
- 6大关键词解析儿童学习桌消费市场
- 2010年下半年卷烟品牌目录
- “耀星计划”之华为信用钱包,覆盖HMS生态多领域
- 10 Python计算生态
- linux c openssl aes 加解密
- 迅为IMX6ULL开发板搭建Web服务器(二)
- MindManager2021 Win/Mac v2020.19.思维导图软件安装下载激活教程
- BootStrap中文网站
- java多线程实现卖火车票小案例同步代码块优先级守护线程
- linux5.8下dns,Redhat 5.8 操作系统上DNS详细配置(DNS resolution for SCAN VIPs)
- 如果由你来设计 12306.cn,你会怎么设计?
- 【零散知识】字典学习(Dictionary Learning)
- 最近在对郎成2440开发板作linux系统移植?最新的进展!