Ich lese this tutorial, um meine AngularJS App mit Google-Anmeldung zu verbinden. Ich habe auf die Schaltfläche Google wie folgt (nur das Tutorial kopier Einfügen):Anmeldung mit Google-Nutzer in einer AngularJS App
Im Kopf ich das Meta-Tag hinzugefügt:
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
Und dann hinzugefügt, um die Schaltfläche selbst:
<div class="g-signin2" data-onsuccess="onSignIn"></div>
Zuerst kopierte ich einfach die onSignIn
Methode (das ist nur ein generischer Handler, also kopiere ich es nicht auf die Frage) aus dem Tutorial und legte es in einen <script>...</script>
Tag und es funktionierte. Ich möchte diese Methode nun in einen Angular Controller bringen. Also habe ich einen Controller wie folgt:
app.controller('GoogleCtrl', function() {
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log('ID: ' + profile.getId());
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail());
}
}
Und wickelte den Knopf mit einem div:
<div ng-controller="GoogleCtrl">
<div class="g-signin2" data-onsuccess="onSignIn"></div>
</div>
Mein Code erhalten nicht auf die onSignIn
Methode jetzt, und ich versuche, herauszufinden, was Kann ich tun.
im Tutorial 'onSignIn' ist eine Funktion auf window-Objekt aufrufen müssen, während der Controller-Version innerhalb Reglerfunktion nur genannt wird, Sie könnte Listener zum Fenster in Ihrem hinzufügen Controller – maurycy
@maurycy - Danke! Ich muss zugeben, ich bin nicht sehr kompetent in JS und ich bin mir nicht wirklich sicher, ob ich Ihren Kommentar verstehe oder wie ich ihn benutze. – Avi