关于vuex中state改变之后的操作

gethin
  • 130

现在我的需求就是通过点击按钮来改变state的值,然后再其他组件内监听state值的改变来执行一个方法,
computed是监听只改变之后返回一个值,如果要执行一个方法是用什么,watch吗?有大神知道的讲解一下啊。

场景:

头部组件有一个播放按钮,递减可以改变播放的状态,

中间有音频播放控件组件,监听到播放状态的改变之后,执行play()或pause()方法。
回复
阅读 15.2k
5 个回答
✓ 已被采纳

clipboard.png

已解决

dispatch触发action调用commit吗?...

按钮被点击后,使用this.$emit触发一个事件。然后再用this.$on捕获这个事件即可。$emit本身可以传值,因此可以省去state这个变量。当然留着也没问题。代码参看Vue的文档吧

watch不行吗 应该是可以的吧 不行的话可以用2楼说的$emit

使用computed返回state的值,再使用watch来检测computed返回的值,通过使用this.$store.commit来触发mutation从而改变state的值,再在watch函数中执行自己想做的操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏