因为列表页面做了缓存,目前需求是只有从新增页面跳转到列表页面,列表(用的是elementui的table)显示重新请求数据显示第一页。因为新增页面是列表页面的子路由,所以只能用beforeRouteUpdate触发。,
beforeRouteEnter和leave都触发不了,因为实际上并没有离开列表页面。数据能请求回来:如图
但是不刷新,
用了网上说的:key和$forceUpdate都不行。
将请求写在activated中可以更新页面,但是用了activated,列表做缓存也就没有意义了。
然而奇怪的是我在这个修改页面也用到了这个需求,也碰到了这个问题,就是视频url能请求回来,但是视频不更新(这个页面表单数据请求回来时,能自动刷新,唯独url请求回来,视频不刷新),也是用了:key和$forceUpdate都不行,结果用定时器解决了。但是我用定时器去解决同样的第一个问题时,无法解决。
用的框架时elementui,我目前的猜想是列表页面做了缓存,而elementui的table没有做响应式,(因为上面说了表单可以刷新,应该是v-model起了作用),而且每次列表页面重新创建时created请求回来的数据都能显示到table上,对了我用了router.go可以刷新页面重新请求,但是这样做整个页面都刷新了,导致tagviews上的页面标签也消失了。
getList()
是网络请求,是异步,后面forceUpdate()
没有意义。其它不更新可能是因为字段没在
data()
里,没有替换响应式。