关于javascript:keepalive记住了当前页面导致离开该页面后再次进入该页页面没有刷新

36次阅读

共计 643 个字符,预计需要花费 2 分钟才能阅读完成。

问题:

在商城类我的项目中应用 keep-alive 对订单列表页面进行记住以后地位操作,此时由订单列表进入订单详情页面获取到订单详情,返回到订单列表页记住进去之前订单列表的地位,然而,此时再次进入另一个订单的订单详情,关上确实是上一个订单详情的内容。

问题呈现的起因:

这是因为来到详情页面后,没有进行页面从新加载或者是刷新操作。

解决办法:

订单列表页面的 method 中定义一个 init 函数,在 mounted 和 activated 中别离调用,同时从另外的页面进入该页面时就对订单列表页面进行刷新操作。

 mounted() {
  // 只在初始化时执行
  this.init();
  this.doRefresh()},
activated(){
  // 每次调用都执行
  this.init()},
methods: {init() {
    // 每次进入都获取新的工夫
    this.startDate = this.$route.query.startDate ? this.$route.query.startDate : this.startDate;
    this.endDate = this.$route.query.endDate ? this.$route.query.endDate : this.endDate;
  },
},
beforeRouteEnter(to, from, next){
  // 从店铺销量进入订单列表,都要进行页面刷新
  next(vm => {if(from.path === '/list'){vm.doRefresh();
    }
  })
},

这样就能够解决问题了!

正文完
 0