vue 使用状态管理重新加载局部组件

这里是使用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)
		  }
      })
    }
  }

写在最后,欢迎留言~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值