问题:
在商城类我的项目中应用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(); } })},
这样就能够解决问题了!