<el-menu-item index="/path1">
<router-link to="/path1">
<span>menu1</span>
</router-link>
</el-menu-item>
<el-menu-item
index="/path2"
v-if="show"
>
<router-link to="/path2">
<span>menu2</span>
</router-link>
</el-menu-item>
背景介绍:项目中使用element-ui时,菜单menu2根据show的值决定是否显示。show 默认为false,请求接口后可能为true
问题:show为true时,点击菜单menu2后,active menu 菜单的样式与当前路由不匹配
解决办法:v-if="show" 改为 v-show="show"
原因分析:v-if 在初始值为false时,不渲染。v-show 都会渲染,show为false时隐藏此菜单(v-if与v-showx详见vue官网)。v-if可能影响el-menu组件的功能