列表页访问详情、编辑后返回列表原位置且列表数据刷新

8 篇文章 0 订阅

最近bug改的头都大了,男bug和女bug实在是太刁钻了!!!!

背景:某个风和日丽的清晨,我一早打开禅道,看到女bug给我提了一个从列表访问详情,返回列表后希望还在原位置的bug。

解决方法:首先在router里配置meta

{
    //list管理
    path: '/home/list',
    name: 'Catalogmanage',
    component: resolve => require(['../pages/list.vue'], resolve), //需缓存list
    meta: { keepAlive: true }
},

不缓存的页面就不要写keepAlive或者keepAlive写成false

然后在它上一级的routerView里写上

<keep-alive >
  <router-view v-if="$route.meta.keepAlive" @changeAnnouceNum="changeAnnouceNum"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" @changeAnnouceNum="changeAnnouceNum"></router-view>

这里就根据meta属性判断是否缓存了,这块看好是不是他的直系父组件,写错了就惨了

到这里还有个问题,我这个列表跳转到详情后,详情页里还有编辑,这个routerview只访问一次就缓存起来了,再不刷新数据,我做的更改根本看不到,本以为就这样放弃了,但是通过搜索资料,发现了一个神奇的钩子函   activated   用了这个函数问题也就迎刃而解了,只要在列表页里把用的接口方法放在这里就好了,既刷新了数据,又保存了其他缓存信息

另附这个钩子函数的一些说明

  • activated 生命周期在keep-alive 组件激活时调用
  • 服务器端渲染期间不调用该生命周期
  • 通常和deactivated周期一起使用

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值