问题:
在商城类项目中使用keep-alive对订单列表页面进行记住当前位置操作,此时由订单列表进入订单详情页面获取到订单详情,返回到订单列表页记住进去之前订单列表的位置,但是,此时再次进入另一个订单的订单详情,打开的确是上一个订单详情的内容。
问题出现的原因:
这是由于离开详情页面后,没有进行页面重新加载或者是刷新操作。
解决办法:
订单列表页面的method中定义一个init函数,在mounted和activated中分别调用,同时从另外的页面进入该页面时就对订单列表页面进行刷新操作。
mounted() {
// 只在初始化时执行
this.init();
this.doRefresh()
},
activated(){
// 每次调用都执行
this.init()
},
methods: {
init() {
// 做初始化操作
},
},
beforeRouteEnter(to, from, next){
// 从店铺销量进入订单列表,都要进行页面刷新
next(vm => {
if(from.path === '/list'){
vm.doRefresh();
}
})
},
这样就可以解决问题了!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。