this.$router.push()跳转页面不刷新

问题:

  • 我有一个动态路由:/page/:offset?,但是我用query传参的时候,是用来点击分页链接进行跳转的,页面却不刷新?
// value值是我点击一个分页传进来的值,点击页数添加,但是页面却没有刷新
this.$router.push('page',query:{offset:value})

原因:

  • 我们传入的参数不一样,只是url地址变化了,此时页面没有重新请求数据,需要刷新一下页面才有新的数据加载,
  • 页面为什么没有重新请求数据的原因:当我们请求page/?offset=1,page/offset=2,page/offset=3…等链接跳转时,页面并没有刷新,也就是页面视图并没有渲染,只是当前组件的操作使得页数更新了,
  • 由于Vue会复用相同组件(我们只是在同一个页面进行同一个页面的跳转,只是url的query的参数不同而已)父组件整体没有调用mounted()和create()等钩子函数,数据没有加载,视图也就没有渲染

解决方案

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐