首页 > 解决方案 > Vue TypeError:这是未定义的

问题描述

为什么this这里未定义?注销时单击这是浏览器控制台中显示的错误TypeError: this is undefined

<script lang="ts">
import Vue from "vue";
import { getModule } from "vuex-module-decorators";
import Component from "vue-class-component";
import AuthModule from "@/store/auth";
import Store from "@/store";

const authModule = getModule(AuthModule, Store);

@Component({})
export default class App extends Vue {
  mounted() {
    console.log("App mounted");
  }
  onLogoutClick() {
    authModule.logout().then(function() {
      this.$router.push("/login");
    });
  }
 }
</script>

标签: vue.jsvuejs2vue-component

解决方案


尝试这个。

     methods: {
       onLogoutClick() {
        let self = this
        authModule.logout().then(function() {
          self.$router.push("/login");
        });
      }

推荐阅读