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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐