欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue this.reload 方法 配置

程序员文章站 2023-11-23 20:32:52
1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷...

1.场景

在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。

2.遇到的问题

1. 用vue-router重新路由到当前页面,页面是不进行刷新的

2.采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载,闪烁,体验不好

3.解决方法

provide / inject 组合

作用:允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。

我的项目配置:

①home.vue

<router-view v-if="isreloadalive"></router-view>

vue this.reload 方法 配置  vue this.reload 方法 配置

export default {
 provide() {
   return {
    reload: this.reload
   }
 },
 data(){
  isreloadalive : true
 },
 methods: {
  reload() {
 this.isreloadalive = false;
 this.$nexttick(function(){
 this.isreloadalive = true;
 })
 }
 }
}

②使用reload方法的页面

 内容管理 - 投顾推荐  tgtj.vue

export default {
 inject: ['reload'],  // 注入 reload 方法
 data(){
  。。。。
 },
 method: {
  set: function(id){
    let param = {
     "recommendedconsultant.id": this.recommendedconsultant_id,
     "recommendedconsultant.sequence": this.recommendedconsultant_sequence,
     "recommendedconsultant.consultant_id": id
    }
    setrecommendedadvisor(param).then((data) => {
     this.$message({ message: data.ret.retmsg });
     if(data.ret.succeed){
      this.reload()   // 调用刷新方法
     }
    });
  }
 }
}

总结

以上所述是小编给大家介绍的vue this.reload 方法 配置,希望对大家有所帮助