2

我目前正在重构从Angular 1到Angular 2的web应用程序,但我无法找到任何连接到来自Angular 2应用程序的Google Cloud Endpoints的示例。从Angular 2应用程序连接到Google Cloud Endpoints

我使用angular-cli来创建Angular 2应用程序。我想使用来自两种不同服务的端点api,所以如果任何建议的答案考虑到这一点,那将是更可取的。

在角1我做了以下

在我的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> 

,在我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'); 
    } 
} 

在角2我试过

编辑1:我应该注意到,我只是想让api为初学者加载。这就是为什么我在下面的例子中将所有代码放在index.html文件中的原因。然而,最好的方式是,我希望有一个解决方案,以便从Angular 2应用程序中启动和使用云端点。

在我的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> 

当我运行web应用程序,init函数不叫(无控制台输出)。但是,似乎脚本已加载。

enter image description here

对于如何解决这一问题的任何建议表示赞赏!另外,如果有人从谷歌或其他人那里找到一些文档详细说明,请分享!

回答

1

您是否试过在这里颠倒您的操作顺序?就像您为Angular 1所做的一样,请尝试将apis.google.com导入移至init代码块下方。

相关问题