为了账号安全,请及时绑定邮箱和手机立即绑定

vue2.0 中keep-alive内容不刷新的问题

vue2.0 中keep-alive内容不刷新的问题

守着一只汪 2018-10-10 13:26:28
list组件向 detail组件跳转的时:列表组件(list)从服务器端获取数据,列表详情页(detail)也会向服务器端发请求获取数据,为了避免每次都获取数据,我在router-view外层使用了keep-alive组件,避免每次都获取数据.list.vue<ul>     <li v-for="(value, index) in getFilterData().data">         <router-link(:to="'/article/' + index")>           <span v-text="value.title"></span>         </router-link>     </li><ul>detail.vue<article v-html="details.content"></article>export default {     data(){      return {         query:'',         details: ''       }     },     created: function(){       let self = this;       Http({ //一个已封装好的util方法         type: 'get',         data:'',         succ: function(body){          self.details = body.content.list[self.$route.params['id']];         }       })     }index.html<div id="app">   <transition :name="transitionName" mode="out-in">       <keep-alive>           <router-view></router-view>       </keep-alive>   </transition></div>问题是,现在每次list向detail页面跳转之后,内容不更新,求教下如何更新数据,或者有其他的方式避免每次都重新请求数据?
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

可以在beforeRouteEnter钩子里做请求,这样进去这个页面得到的就不是缓存的内容了

https://img1.sycdn.imooc.com//5bdd070e0001457f05000854.jpg

我一直是这样写的,keep-alive把router-view套住,不需要缓存的就在路由钩子里面做文章

查看完整回答
反对 回复 2018-11-03
  • 1 回答
  • 0 关注
  • 722 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号