• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小码哥-倩倩
博客园    首页    新随笔    联系   管理    订阅  订阅

全局刷新优点和不足

角色切换的时候,由于在当前页面切换角色的时候,由于路由不变,导致页面不刷新,数据无法改变!所以需要强制刷新,代码如下:

<template>
<div id="app">
<router-view v-if="isReloadAlive" />
</div>
</template>

<script>
export default {
name: 'App',
provide(){
return{
reload:this.reload
}
},
data(){
return {
isReloadAlive:true,
}
},
methods:{
reload () {
this.isReloadAlive = false;
this.$nextTick(function(){
this.isReloadAlive = true;
});
}
},
components:{

},
mounted() {

}
}
</script>
<style>
</style>
这样做虽然解决了当前路由可以刷新的问题,但是存在一个问题。如果刚进如的页面函数执行有顺序关联的时候,由于数据缺失,导致页面不断的刷新,一直报错!
只能判断,如果必须的时候才用全局刷新,否则刷新组件,刷新需要更新的地方就好。
<template>
<div>
<sj-header class="shujudating" :show-community="showCommunity" @refreshRouter="refreshRouter"></sj-header>
<router-view :key="dataCenterRounter"/>
</div>
</template>

<script>
import SjHeader from '@/components/propertyHeader';
export default {
name: "Frame.vue",
components:{
SjHeader
},
data(){
return {
showCommunity:false,
dataCenterRounter:new Date().getTime()
}
},
methods:{
refreshRouter(){
this.dataCenterRounter = new Date().getTime();
}
}
}
</script>

<style scoped>
</style>
posted @ 2019-03-20 21:02  小码哥-倩倩  阅读(227)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3