为了账号安全,请及时绑定邮箱和手机立即绑定

vuex state 触发组件里面的函数

vuex state 触发组件里面的函数

Smart猫小萌 2018-09-02 14:20:26
问题一个页面上有多个video标签,然后通过vuex来控制当前播放的video,想要的效果就是一次只能播放一个video,比如页面上有个A,B,C三个video,然后当A在播放的时候,点击B播放,然后A需要停止,然后点击C播放的时候,B需要停止然后我现在的一个思路就是vuex.有一个属性,currentVideo,这个属性的变化,会让所有video组件感知到,如果是自己就播放,如果不是,那么就暂停;在组件里面有一个函数来控制当前视频的播放想请问下,在组件里面怎么能监听到vuex里面的state的变化呢或者对于这个问题还有没有其它的思路
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

state 里的数据本来就是响应式的,你也可以使用 computed 依赖 state 来得出一个变量,也可以直接 watch state

查看完整回答
反对 回复 2018-09-09
?
湖上湖

TA贡献2003条经验 获得超2个赞

watch currentVideo 变化即可。

个人偏向的方式是在 state 里维护一个 video 的列表,把控制播放的逻辑放在 Mutations 里,这样想让哪个播放就commit('PLAY_VID', {id:'xxx'}),操作起来不容易出错。


查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 1269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信