だから私はからのガイドとコードを使用していました
_https://developers.google.com/identity/sign-in/web/
_
ボタンをクリックすると正常に動作し、Googleログインページにリダイレクトされ、認証中に問題は発生しません。
完了すると、ボタンが配置されているページ(vueコンポーネント)にリダイレクトされます。理論的には、onSignIn
メソッドを呼び出して、_console.log
_を使用して情報を出力する必要がありますが、発生しませんでした。
どういうわけかVueは_data-onsuccess="onSignIn"
_を実行できませんでした。_data-onsuccess
_を動的プロパティ(_:data-onsuccess
_)またはイベント処理(_@data-onsuccess
_ )、どちらも機能しません。
誰もこの問題に以前に反論しましたか?または、Vueに実装する特別な方法はありますか?
data-onsuccess="onSignIn"
はグローバルonSignIn
関数を探しています。 onSignIn
をVueコンポーネントの外側に配置する必要があります。
別の方法は、gapi.signin2.render
でサインインボタンをレンダリングします。次に、Vueコンポーネント内でonSignIn
を使用できます。
<template>
<div id="google-signin-button"></div>
</template>
<script>
export default {
mounted() {
gapi.signin2.render('google-signin-button', {
onsuccess: this.onSignIn
})
},
methods: {
onSignIn (user) {
const profile = user.getBasicProfile()
}
}
}
</script>
詳細については、 https://developers.google.com/identity/sign-in/web/build-button
あまりセットアップせずにすぐに作業を開始するためにプラグインが必要な場合は、これを試してください vue-google-signin-button-directive 。