VueJS不能在商店内使用路由器

时间:2018-03-02 07:25:43

标签: vue.js vue-router

在清除身份验证数据后的注销操作中,我想将用户路由到主页。

logout({commit}){
      commit('clearAuthData')
      router.replace('/')

我也将我的routes.js文件导入为

 import router from './routes';

如何在router.replace文件中使用store.js函数?

1 个答案:

答案 0 :(得分:1)

您可以将路由器作为有效负载传递给操作。

例如这是组件

<template>
    <button @click="logoutHandler">Log out</button>
</template>

<script>
import { mapActions } from 'vuex';
export default {
  methods: {
    ...mapActions(["logout"]),
    logoutHandler() {
      this.logout({ router: this.$router });
    }
  }
};
</script>

并在行动中

logout({commit}, {router}){
      commit('clearAuthData')
      router.replace('/')