Проблема с vue-google-oauth-2 в Vue.js - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь добавить кнопку входа в Google в свое приложение Vue.js и обнаружил плагин vue-google-oauth2.Я установил его и следовал в точности коду sample.html, чтобы интегрировать его в свое приложение, следующим образом:

<template>
  <div>
   <h1>Test</h1>
   <button @click="handleClickSignIn" :disabled="!isLoaded">signIn</button>
  </div>
 </template>

 <script>
  /** 
  * You should first need to place these 2 lines of code in your APP ENTRY file, e.g. src/main.js
  *
  * import GAuth from 'vue-google-oauth2'
  * Vue.use(GAuth, {clientId: '4584XXXXXXXX-2gqknkvdjfkdfkvb8uja2k65sldsms7qo9.apps.googleusercontent.com'})
  * 
  */
  export default {
   name: 'test',
   props: [],
   components: {
   },
   data () {
    return {
     isLoaded: false
    }
   },
   computed: {
   },
   methods: {
    handleClickSignIn(){
      this.$gAuth.signIn(function (user) {
         //on success do something
      console.log('user', user)
      }, function (error) {
         //on fail do something
      })
    }
  },
  mounted(){
    let that = this
    let checkGauthLoad = setInterval(function(){
      that.isLoaded = that.$gAuth.isLoaded()
      console.log('checked', that.isLoaded)
      if(that.isLoaded) clearInterval(checkGauthLoad)
    }, 1000);
  }
}
</script>

Проблема в том, что метод isLoaded() никогда не возвращает true, а консоль Google Chrome сообщает мнекаждый раз, когда я нажимаю на кнопку, google api is not ready, то есть сообщение консоли плагина, которое печатается, когда GoogleAuthInstance равен false.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 17 мая 2019

Используйте isInit вместо isLoaded, так как последнее будет / устарело.

...