a.我是用vuex做的。
b.在路由拦截里去改变default-active
的值。
c.导航菜单里取到这个路径。
理论上是没问题的,但是!!!
刷新后,当前页面才有选中状态。直接点击菜单没有选中状态。
具体代码
1.store里
leftNavState: (state, data) => {
state.leftSelect = data;
},
2.路由拦截里
store.commit('leftNavState',to.path);
3.导航菜单组件里
<el-menu :default-active="leftSelect" class="leftMenue" router>
<el-menu-item :index="item.path" v-for="(item, index) in leftNav" :key="index">
<i class="iconfont" :class="item.icon"></i>
<span slot="title">{{item.name}}</span>
</el-menu-item>
</el-menu>
...mapState(['leftSelect']),
...mapGetters(['leftNav'])
建议使用
watch
选项检测你的leftSelect