1. 问题

做用户中心的时候,用户中心左侧显示用户头像和导航栏,点击导航栏会切换子路由;
我在父路由组件created调用获取用户头像接口,发现每次切换子路由都会调用该接口,也就是每次切换子路由,父路由都会重新渲染

2. 原因

home中:

<router-view :key="`${$route.path}${$route.query.keywords}`"></router-view>

也就是渲染父路由的容器。因为设置了key,所以改变路由时,只要key发生变化,对应路由就会重新渲染。
这里每次切换子路由,$route.path发生改变,引起key值改变,所以导致父路由重新渲染。

3. 解决办法

将key去掉,但是我这边是有些页面是要根据$route.query.keywords改变重新渲染的,所以我改成了

<router-view :key="`${$route.query.keywords}`"></router-view>

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2021-05-16
  • 2021-08-10
  • 2021-07-13
  • 2022-12-23
  • 2021-11-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-09
相关资源
相似解决方案