我在这里做错了什么?我安装了一个插件,并设置了一个全局属性,但是在我的方法中我无法访问该属性。
我的根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
}
}
}
})
来自root 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>
错误
未捕获的TypeError:无法读取未定义的属性“setAuth” 在VueComponent.onSignInSuccess(评估为57(0.83049e6 ... .hot-update.js:13),:17:16) at boundFn(eval at(app.js:630),:126:14) 在H_。 (CB = gapi.loaded_0:285) 在cb = gapi.loaded_0:175 在h.r2(cb = gapi.loaded_0:78) at xs(cb = gapi.loaded_0:81) 在Wq(cb = gapi.loaded_0:81) 在_.C.uea(cb = gapi.loaded_0:80) 在Ap(cb = gapi.loaded_0:74)
答案 0 :(得分:4)
正如@Srinivas Damam指出我需要使用原型设置它。
EXACT_COUNT_DISTINCT()
修复了它