这里是使用element做的后台管理系统,通过操作来发送请求刷新左侧的菜单栏。
思路:页面添加左侧菜单操作成功后,改变store里changeMenu的状态为true,
左侧菜单组件监听changeMenu,发生改变为true后,发送请求重新获取左侧菜单,
请求成功后修改changeMenu的状态false,菜单栏展示出新添加的菜单。
代码 store 里的定义changeMenu
state: {
changeMenu:false
},
mutations: {
SET_CHANGEMENU: (state,changeMenu) => {
state.changeMenu = changeMenu
},
},
代码 添加菜单成功之后修改store里changeMenu的状态
this.$store.commit('SET_CHANGEMENU',true)
代码 左侧菜单组件监听changeMenu的状态
computed: {
changeMenu(){ //计算属性返回changeMenu的值
return this.$store.state.changeMenu
}
},
watch: {
changeMenu(val){
if(val){ //changeMenu的值为true时去请求获取菜单接口
this.getList()
}
}
},
methods: {
getList () {
getMenu({}).then(res => {
if(res.data.response){
//请求成功后修改store的状态为false
this.$store.commit('SET_CHANGEMENU',false)
}
})
}
}
写在最后,欢迎留言~~~