el-menu作为子组件,当执行router.push后,el-menu的生命周期确实会重新加载,但是浏览器页面中的menu部分不应该让用户感知到抖动刷新
原因: 为了切换路由时页面要刷新,在router-view上加了key,但是app.vue中的router-view是根页面,实际只需要内容区刷新即可
// app.vue
<router-view :key="route.path" />
解决:在内容区的router-view上加key,而不是app.vue
// index.vue
<div class="root">
<header />
<div class="app-wrapper">
<Sidebar class="sidebar-container" />
<div class="main-container">
<Breadcrumb />
<router-view :key="route.path"></router-view>
</div>
</div>
</div>