这个项目的需求是在头部组件中可以切换头部导航与侧栏组件的背景颜色
- 我是利用element组件进行项目编写的
- 头部导航与侧栏为两个兄弟同级组件 用 props 与emit用不了 所以使用vuex定义变量
- 在vuex中定义一个默认的背景颜色变量以及mutation中换色的方法
state:{
bg:'#545c64'
},
mutations:{
huanSe(state,loadpay){
state.bg = loadpay
}
},
- 在两个组件中给el-menu分别定义参数background-color为vuex的变量
<el-menu
:background-color="bg"
>
- 在导航栏中控制颜色的切换
<el-menu-item index="2-1" @click="huanSe('#78e08f')">颜色一</el-menu-item>
<el-menu-item index="2-2" @click="huanSe('#ff7675')">颜色二</el-menu-item>
<el-menu-item index="2-3" @click="huanSe('#00b894')">颜色三</el-menu-item>
补充
- 换色这个导航后面箭头图标颜色如果需要更改
- 得到这个图标i的class
- 然后进行更改 如果没有效果 在css样式上scoped次组件引用的删除
- 记得在样式上加上 !important
<style lang="scss" >
i.el-submenu__icon-arrow {
color: white !important;
}