我在这里做错什么了?我安装了一个插件,并设置了一个全局属性,但是在我的方法中,我无法访问该属性。
根vue组件的main.js

import Vue from 'vue'
...
Vue.use({
  install (Vue) {
    let googleAuth = null
    console.log('called!')
    Vue.auth = {
      setAuth (auth) {
        googleAuth = auth
      },
      isAuthenticated () {
        return googleAuth !== null && googleAuth.isSignedIn.get()
      },
      currentUser () {
        return googleAuth.currentUser.get()
      },
      currentUserProfile () {
        return this.currentUser().getBasicProfile()
      },
      getIdToken () {
        return this.currentUser().getAuthResponse().id_token
      }
    }
  }
})

根Vue组件中的app.vue
<template></template>
<script>
  export default {
    name: 'Trudit',
    data () {
      return {
        title: 'Trudit'
      }
    },
    methods: {
      onSignInSuccess (googleUser) {
        console.log(this)
        this.auth.setAuth(googleUser)   //<-  this.auth === undefined
      }
    }
  }
</script>

错误
uncaught typeerror:无法读取未定义的属性“setauth”
在VueCoMangTun.OnScript成功(EVAN为57(0.83049 E6……热更新。JS:13),:17:16)
在(630:)
在H。(cb=gapi.loaded_0:285)
在cb=gapi.加载时
在h.r2时(cb=gapi.loaded_0:78)
在xs时(cb=gapi.loaded_0:81)
在WQ时(Cb=Gapi.loaded_0:81)
在c.uea(cb=gapi.loaded_0:80)
在AP(CB=GAPI.LOADED U 0:74)

最佳答案

正如@srinivas daram指出的,我需要使用prototype设置它。
Vue.prototype.auth已修复

关于plugins - Vuejs,插件,找不到全局方法/属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43156014/

10-12 05:23