大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
Vue刷新页面重新加载
问题描述
在加载同一路由页面的时候,vue的页面默认是不刷新的,需要重新加载数据
解决方案
- 修改App.vue
在路由视图上添加一个变量isRouterAlive
判断显示实现重新加载
<template>
<!-- <router-view/> -->
<router-view v-if="isRouterAlive"/>
</template>
<script>
/*
这个脚本主要是用来刷新页面的
*/
export default {
name: 'App',
provide (){
return {
reload:this.reload
}
},
data(){
return {
isRouterAlive:true
}
},
methods:{
reload (){
this.isRouterAlive = false
this.$nextTick(function(){
this.isRouterAlive = true
})
}
},
components:{
}
}
</script>
-
在需要刷新的页面修改代码
主要是添加
inject: ['reload']
然后在需要刷新的地方调用this.reload()
需要注意的地方是当心死循环。
<script>
import request from "@/utils/request.js";
export default {
name:'RightPane',
inject: ['reload'],
data(){
return {
newest_datas: {},
};
},
methods:{
// 显示明细
showDetail(val){
//this.$router.push 传参
this.$router.push({path:'/showDetail',query:{id:val}});
this.reload()
}
},
created(){
//加载数据,显示最新的10条数据
request.get('/information?currentPage=1&pageSize=10')
.then((res) => {
this.newest_datas = res.data.data.records
}).catch((err) => {
this.$message({type: "error",message: "加载数据出错:"+err, })
});
}
}
</script>
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181160.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...