Как использовать этот экземпляр в mixins в vue с машинописью - PullRequest
0 голосов
/ 20 марта 2019

Я недавно начал изучать vue.js с использованием машинописи. Typescript официально поддерживается с помощью vue, и я использую пакет под названием vue-class-component. Мы в основном объявляем компоненты как классы через этот пакет. Следуя его README, я создал следующий миксин в своем коде:

import Vue from 'vue';
import Component from 'vue-class-component';
import router from '@/router';
@Component
export default class AuthMixin extends Vue {
  public googleAuthenticate() {
    this.$gAuth.getAuthCode()
    .then((authCode: any) => {
      return this.$http.post('http://localhost:8000/rest-auth/google/', { code: authCode, redirect_uri: 'http://localhost:8080', clientId: clientID });
   })
    .then((response: any) => {
      router.push('/home');
   })  
    .catch((error: any) => {
      router.push('/');
   });
   }
}

Я использую функцию социальной аутентификации, предоставляемую пакетом vue-google-oauth2

Когда я запускаю код, он, кажется, работает нормально, и кажется, что vue может определить, что экземпляр this указывает на экземпляр vue. Но в моем коде он всегда подчеркивается и по существу утверждает, что «this» ссылается на метод googleAuthenticate и не имеет никакой переменной $ gAuth.

Как я могу удалить эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...