【发布时间】:2019-02-05 13:16:02
【问题描述】:
当我点击菜单汉堡 div 时,我想在 body 标签上添加类 menu-opened。
我的 div
<div v-on:click="openMenu"></div>
openMenu 方法
methods: {
openMenu() {
console.log('open menu launch')
this.$store.dispatch('menu/setMenu', true)
}
}
我的商店
state = {
isMenuOpen: false
}
actions = {
setMenu({ commit }, value) {
commit('SET_MENU_OPEN_STATUS', value)
}
}
mutations= {
SET_MENU_OPEN_STATUS(state, newState){
state.isMenuOpen = newState
}
}
在我的模板上,我得到了这段代码来根据 isMenuOpen 值的状态在正文上添加类:
export default {
data() {
return {
menuState: this.$store.state.isMenuOpen
}
},
head () {
return {
bodyAttrs: {
class: this.menuState ? 'menu-opened' : ''
}
}
}
}
我的商店运行良好,当我点击我的 div 时值会发生变化,但它没有添加类,就像 head 函数不是响应式的......
感谢您的帮助
【问题讨论】:
-
能否展示包含
<body>的代码/模板? -
这是 nuxt HTML 模型:fr.nuxtjs.org/guide/views/#document