2

Ich bin derzeit Refactoring einen Web-App von Angular 1 bis Angular 2, aber ich habe Schwierigkeiten keine Beispiele der Verbindung mit Google Cloud Endpoints von einer Angular 2 App zu finden.Verbindung zu Google Cloud Endpoints aus einem Winkel 2 App

verwendete ich die angular-cli die Angular 2-Anwendung zu erstellen. Ich möchte die Endpunkte api von verschiedenen Diensten verwenden, daher wäre es besser, wenn eine vorgeschlagene Antwort dies berücksichtigt.

In Angular 1 habe ich die folgende

In meiner index.html:

<script> 
     function init() { 
      console.log("Initializing Cloud Endpoints.."); 
      window.init(); 
     }; 
    </script>   

    <script src="https://apis.google.com/js/client.js?onload=init"></script> 

und in meinem main.js:

function Main($scope, $window){ 
    var vm = this; 

    $window.init= function() { 
     $scope.$apply(vm.loadApi); 
    }; 

    vm.loadApi = function(){ 
     gapi.client.load('deviceStockApi', 'v1', function(){ 

      console.log("Cloud Endpoints are now available"); 

     }, 'https://name-of-my-endpoints-app.appspot.com/_ah/api'); 
    } 
} 

In Angular 2 Ich habe versucht

Edit1: Ich sollte beachten, dass ich nur versuche, die API für Starter zu laden. Aus diesem Grund habe ich im folgenden Beispiel den gesamten Code in die Datei index.html gelegt. Optimalerweise würde ich jedoch eine Lösung mit Best Practice bevorzugen, um die Cloud-Endpunkte von einer Angular 2-App zu initiieren und zu verwenden.

In meinem index.html:

<script src="https://apis.google.com/js/client.js?onload=init"></script> 

<script> 
    function init() { 
    console.log("Init called"); 

    gapi.client.load('deviceStockApi', 'v1', function(){ 
     console.log("Cloud Endpoints are now available"); 
    }, 'https://name-of-my-endpoints-app.appspot.com/_ah/api'); 
    } 
</script> 

Wenn ich die Webapp ausführen, wird die init-Funktion nicht aufgerufen (keine Konsolenausgabe). Es scheint jedoch, dass das Skript geladen ist.

enter image description here

Irgendwelche Vorschläge, wie dies zu beheben ist gefragt! Wenn jemand Dokumente von Google oder anderen Personen gefunden hat, teilen Sie diese bitte mit!

Antwort

1

Haben Sie versucht, die Reihenfolge Ihrer Operationen hier umzukehren? Wie bei Angular 1 versuchen Sie, den apis.google.com-Import unter den init-Codeblock zu verschieben.

Verwandte Themen