Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 路由应用程序的角度Js和gapi_Javascript_Angularjs_Google App Engine_Google Cloud Endpoints_Google Api Js Client - Fatal编程技术网

Javascript 路由应用程序的角度Js和gapi

Javascript 路由应用程序的角度Js和gapi,javascript,angularjs,google-app-engine,google-cloud-endpoints,google-api-js-client,Javascript,Angularjs,Google App Engine,Google Cloud Endpoints,Google Api Js Client,我有一个类似的问题。但是主要的区别是我需要两个控制器来控制两条不同的路线。就像两张不同的桌子/表1和../表2。每个表中的数据必须从google云端点(通过gapi)查询。我如何根据自己的情况调整初始化顺序?另外,我希望有一个深度链接的可能性:用户可以从/table1开始,而不是从“根路径”。您可以使用“resolve”从外部服务获取数据,然后将resolve的名称注入控制器,就像服务获取注入一样。请注意,您可以将解析注入仅附加到状态的控制器。请检查此处的文档 Eg 您知道ui路由器吗?使用它,

我有一个类似的问题。但是主要的区别是我需要两个控制器来控制两条不同的路线。就像两张不同的桌子/表1和../表2。每个表中的数据必须从google云端点(通过gapi)查询。我如何根据自己的情况调整初始化顺序?另外,我希望有一个深度链接的可能性:用户可以从/table1开始,而不是从“根路径”。

您可以使用“resolve”从外部服务获取数据,然后将resolve的名称注入控制器,就像服务获取注入一样。请注意,您可以将解析注入仅附加到状态的控制器。请检查此处的文档

Eg


您知道ui路由器吗?使用它,您可以使用自己的控制器和url模式定义状态。是的,我使用ui路由器,可以为每个url定义控制器。我的问题是:如何初始化每个控制器,并从google端点获取一些数据。在何处放置$window.initGapi函数及其工作原理?您可以创建一个服务,在控制器或解析上封装google api对象,您可以注入您创建的服务。正如你在回答的问题中提到的,你可能需要anguler应用程序的懒惰boostrap。(在googleOnLoadCallback函数中)检查此处的文档以了解延迟引导。是的,我试着这样做,但不了解细节。因此,我有一个全局函数var init=function(){window.initGapi();},它在加载gapi lib之后调用。我需要在哪里定义window.initGapi()方法?在前面的问题中,这个方法是在单个控制器中定义的:$window.initGapi=function(){gapiService.initGapi(postInitiation);},如何对几个不同的控制器执行相同的效果?
$stateProvider.state('myState', {
      resolve:{

         googleData:  function($http){
            return $http({method: 'GET', url: '/someUrl'});
         }
      },
      controller: function($scope, googleData)
      {
          $scope.simple = googleData.value;
      }
   })