• 切换子路由时,父路由的组件会重新渲染


    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>
    
  • 相关阅读:
    单元测试
    软件测试计划
    软件杯A9的设计与实现
    阅读笔记7
    阅读笔记6
    阅读笔记5
    阅读笔记4
    阅读笔记3
    阅读笔记2
    阅读笔记1
  • 原文地址:https://www.cnblogs.com/XHappyness/p/12671431.html
Copyright © 2020-2023  润新知