0

我有一个任务喜欢在this问题。但主要区别在于我需要两个不同路线的控制器。像两个不同的表格。 ../table1和../table2。每张表中的数据都必须从谷歌云端点(通过gapi)查询。我如何根据自己的情况调整初始化顺序?另外,我想有一个深度链接的可能性:用户可以从/ table1而不是“root path”开始。角Js和gapi路由应用程序

+0

你知道吗用ui-router https://github.com/angular-ui/ui-router有了这个你可以用它自己的控制器和url模式来定义状态。 – erandac

+0

是的,我使用ui-router并可以为每个url定义控制器。我的问题是:我怎样才能初始化每个控制器从谷歌端点一些数据。在哪里放置$ window.initGapi函数以及这可以如何工作? –

+0

您可以创建一个包装google api对象的服务,在控制器上或解析后,您可以注入您创建的服务。正如你在回答的问题中提到的,你可能需要懒惰的应用程序。 (在googleOnLoadCallback函数中) – erandac

回答

0

您可以使用'resolve'从外部服务获取数据,然后将解析的名称注入到控制器中,如同服务获取注入的方式。请注意,您可以将解析注入到仅附加状态的控制器。查看这里的文档https://github.com/angular-ui/ui-router/wiki#resolve

例如;

$stateProvider.state('myState', { 
     resolve:{ 

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