最近在用Vue开发前端时遇到了一个问题,就是ElementUI控件库中的ElMenu控件(用于导航)无法随着路由(请求地址)的变化而改变高亮的条目。查阅官方文档得知ElMenu有一个default-active属性。该属性代表ElMenu被创建后,处于高亮状态的条目的索引值。于是我便将default-active属性与route的path属性绑定在了一起。实现代码如下:
<el-menu :default-active="$route.path" :router="true">
<el-menu-item index="/accountCenter/myProfile">个人信息</el-menu-item><!--导航进入账号基本信息页-->
<el-menu-item index="/accountCenter/myCollections">我的收藏</el-menu-item><!--导航进入账号的收藏展示页-->
<el-menu-item index="/accountCenter/myArticles">我的文章</el-menu-item><!--导航进入账号发布的文章展示页-->
</el-menu>
经过测试,当路由地址与el-menu中的某个el-menu-item的index属性值相等时,相应的导航项便会被渲染成高亮状态。
然而实际问题远远没有这么简单。在开发过程中,我在“/accountCenter/myCollections”路由上添加了几个子路由:“/accountCenter/myCollections/article”,“/accountCenter/myCollections/resource”