Javascript 我得到了“未知突变类型:mobilenav/showmobilenav”切换边栏

Javascript 我得到了“未知突变类型:mobilenav/showmobilenav”切换边栏,javascript,vue.js,nuxt.js,Javascript,Vue.js,Nuxt.js,我试图切换侧栏,试图在单击按钮时提交变异,但每次都会出现[vuex]未知变异类型:mobilenav/showmobilenav错误 我在网上看到的所有东西都试过了,但都不管用 我还尝试使用模块模式,而不是经典模式,因此,我的商店结构如下 下面是我的商店 store/index.js export const state=()=>({ }) 导出常量突变=({ }) 导出常量操作=({ }) 导出常量getter=({ }) store/mobilenav.js export const st

我试图切换侧栏,试图在单击按钮时提交变异,但每次都会出现
[vuex]未知变异类型:mobilenav/showmobilenav
错误

我在网上看到的所有东西都试过了,但都不管用

我还尝试使用模块模式,而不是经典模式,因此,我的商店结构如下

下面是我的商店

store/index.js

export const state=()=>({
})
导出常量突变=({
})
导出常量操作=({
})
导出常量getter=({
})
store/mobilenav.js

export const state=()=>({
莫比尔纳夫:错
})
导出常量突变=()=>({
showmobilenav(州){
state.mobilenav=true;
},
希德莫比列纳夫(州){
state.mobilenav=false;
}
})
导出常量getters=()=>({
ismobilenavvisible(州){
返回状态。下拉列表;
}
})
单击按钮时调用变异的VUE文件


导出默认值{
方法:{
showsidenav(){
此.$store.commit(“mobilenav/showmobilenav”);
控制台日志(“显示侧导航”);
},
},
}

您需要在
存储/index.js中执行此操作:

从“Vue”导入Vue
从“Vuex”导入Vuex
从“/mobilenav”导入mobilenav
Vue.use(Vuex)
const createStore=()=>新建Vuex.Store({
模块:{
莫比尔纳夫,
},
})
导出默认createStore
然后在加载vue应用程序时注入存储:

从“Vue”导入Vue
从“~/pages/App.vue”导入应用程序
从“~/store”导入createStore
document.addEventListener('DOMContentLoaded',()=>{
if(document.getElementById('app-wrapper')){
新Vue({
存储:createStore(),
渲染:h=>h(应用程序),
}).$mount(“#应用程序包装器”)
}
})

您需要在
存储/index.js中执行此操作:

从“Vue”导入Vue
从“Vuex”导入Vuex
从“/mobilenav”导入mobilenav
Vue.use(Vuex)
const createStore=()=>新建Vuex.Store({
模块:{
莫比尔纳夫,
},
})
导出默认createStore
然后在加载vue应用程序时注入存储:

从“Vue”导入Vue
从“~/pages/App.vue”导入应用程序
从“~/store”导入createStore
document.addEventListener('DOMContentLoaded',()=>{
if(document.getElementById('app-wrapper')){
新Vue({
存储:createStore(),
渲染:h=>h(应用程序),
}).$mount(“#应用程序包装器”)
}
})

问题在于导出的
突变
(和
getters
)是一个函数,但它必须是一个对象:

store/mobilenav.js:

//导出常量突变=()=>({/*…*/})❌
导出常量突变={/*…*/}✅
//导出常量getters=()=>({/*…*/})❌
导出常量getter={/*…*/}✅

问题在于导出的
突变
(和
getters
)是一个函数,但它必须是一个对象:

store/mobilenav.js:

//导出常量突变=()=>({/*…*/})❌
导出常量突变={/*…*/}✅
//导出常量getters=()=>({/*…*/})❌
导出常量getter={/*…*/}✅

检查开发工具,看看商店是否正常工作。你注册了商店吗?检查开发工具,看看商店是否正常工作。你注册了商店吗?OP使用Nuxt,因此不需要安装。哦,糟糕,我以前没有看到那个标签。不管怎样,我将把我的答案留给另一个不使用Nuxt的人。OP使用Nuxt,所以安装是不必要的。哦,糟糕,我以前没有看到那个标签。不管怎样,我会把我的答案留给另一个不使用Nuxt的人。