Javascript vuex存储无法在路由组件中触发
我的vuex商店已经设置好,一切正常,但是,我只能在直接导入src App.vue的组件中提交我的突变 例如,Header.vue中的Javascript vuex存储无法在路由组件中触发,javascript,typescript,vue.js,Javascript,Typescript,Vue.js,我的vuex商店已经设置好,一切正常,但是,我只能在直接导入src App.vue的组件中提交我的突变 例如,Header.vue中的resetState会在我单击按钮时触发,因为它直接导入src/App.vue <template> <v-btn icon to="/" id="no-background-hover" @click="resetSta
resetState
会在我单击按钮时触发,因为它直接导入src/App.vue
<template>
<v-btn
icon
to="/"
id="no-background-hover"
@click="resetState"
>
///
</v-btn>
</template>
<script lang="ts">
import Vue from 'vue'
import { MutationTypes } from '@/store/mutation-types'
export default Vue.extend({
name: 'Header',
methods: {
resetState () {
this.$store.commit(MutationTypes.RESET_STATE, 0)
}
},
})
</script>
出现问题的原因是在引用存储之前执行了“to=“/”,并且因为它刷新了页面,所以没有发送命令 以下是您应该如何做到这一点:
///
从“Vue”导入Vue
从“@/store/mutation types”导入{MutationTypes}
导出默认Vue.extend({
名称:'标题',
方法:{
重置状态(){
此.$store.commit(MutationTypes.RESET_状态,0)
window.location.href='/'
}
},
})
我找到了修复程序,只需将路由器视图
包装到保持活动状态
标签中
<keep-alive>
<router-view/>
</keep-alive>
您看过Vue开发工具吗?控制台中有错误/警告吗?@Anatoly我有。没有错误,什么都没有你能分享你的main.js
?@Prime我刚才就这么做了
<keep-alive>
<router-view/>
</keep-alive>