我花了一天的时间才使它成功,所以我认为我的经验可能对某人有用.也许其他一些人会找到改进.
所以我两天前开始使用angularJS.我希望它可以与Google Cloud Endpoints一起使用来创建后端界面.这给我带来了麻烦.
gapi的javascript客户端带有异步加载,因此角度初始化会因为gapi未定义而崩溃.
所以你需要在初始化gapi时引导角度:
<script src="https://apis.google.com/js/client.js?onload=googleOnLoadCallback"></script>添加回调:
function googleOnLoadCallback(){
var apisToLoad = 1; // must match number of calls to gapi.client.load()
var gCallback = function() {
if (--apisToLoad == 0) {
//Manual bootstraping of the application
var $injector = angular.bootstrap(document, ['myApp']);
console.log('Angular bootstrap complete ' + gapi);
};
};
gapi.client.load('helloWorld', 'v1', gCallback, '//' + window.location.host + '/_ah/api');
}
Run Code Online (Sandbox Code Playgroud)感觉很好,但电话怎么样?
所以这是控制器:
angular.module('myApp.controllers', []).
.controller('MyCtrl', ['$scope' ,'helloWorldService',
function($scope,greetingsService) {
helloWorldService.loadData($scope);
}]);
Run Code Online (Sandbox Code Playgroud)
这是服务:
angular.module('myApp.services', [])
service('helloWorldService', [function() { …Run Code Online (Sandbox Code Playgroud) javascript google-app-engine angularjs google-cloud-endpoints gapi