我正在开发音乐应用。注销后,音乐仍会继续播放。因此,我尝试使用Vuex将全局布尔状态设为:logged(输入或输出)...并以此-尝试捕获更新后的状态。如果状态为注销-音乐将停止播放。正在从另一个组件MusicPlayer.vue播放音乐。我的问题:当我尝试观察状态变化时,不会发现变化,因此音乐仍在继续播放。我在做什么错?
computed: {
loggetOUT () {
return this.$store.login.getters.loggetState
}
},
watch: {
loggedOUT (value) {
console.log(value)
if (value) {
sound.pause()
sound = null
}
}
}
store / login.js:
export const state = () => ({
logged: false
})
export const mutations = {
LOGGED_IN (state) {
state.logged = true
},
LOGGED_OUT (state) {
state.logged = false
}
}
export const getters = {
loggedState (state) {
return state.logged
}
}
我在默认模板中注销时将状态设置为false:
logout (store) {
this.$auth.logout()
this.$store.commit('login/LOGGED_OUT')
}