問(wèn)題一個(gè)頁(yè)面上有多個(gè)video標(biāo)簽,然后通過(guò)vuex來(lái)控制當(dāng)前播放的video,想要的效果就是一次只能播放一個(gè)video,比如頁(yè)面上有個(gè)A,B,C三個(gè)video,然后當(dāng)A在播放的時(shí)候,點(diǎn)擊B播放,然后A需要停止,然后點(diǎn)擊C播放的時(shí)候,B需要停止然后我現(xiàn)在的一個(gè)思路就是vuex.有一個(gè)屬性,currentVideo,這個(gè)屬性的變化,會(huì)讓所有video組件感知到,如果是自己就播放,如果不是,那么就暫停;在組件里面有一個(gè)函數(shù)來(lái)控制當(dāng)前視頻的播放想請(qǐng)問(wèn)下,在組件里面怎么能監(jiān)聽(tīng)到vuex里面的state的變化呢或者對(duì)于這個(gè)問(wèn)題還有沒(méi)有其它的思路
2 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
state 里的數(shù)據(jù)本來(lái)就是響應(yīng)式的,你也可以使用 computed 依賴 state 來(lái)得出一個(gè)變量,也可以直接 watch state

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
watch currentVideo
變化即可。
個(gè)人偏向的方式是在 state 里維護(hù)一個(gè) video 的列表,把控制播放的邏輯放在 Mutations 里,這樣想讓哪個(gè)播放就commit('PLAY_VID', {id:'xxx'})
,操作起來(lái)不容易出錯(cuò)。
添加回答
舉報(bào)
0/150
提交
取消