Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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
在页面加载之前运行API Angularjs_Angularjs - Fatal编程技术网

在页面加载之前运行API Angularjs

在页面加载之前运行API Angularjs,angularjs,Angularjs,我在main.js中使用了一个API,API的输出将在使用rootscope的多个页面和控制器上使用。因此,我需要确保API在加载任何页面之前运行。目前,页面首先被加载,然后API运行。因此,我无法将API输出绑定到html div 请帮忙 您可以使用angular服务调用api并注入控制器,也可以在配置中使用provider并将数据分配给$rootScope执行类似操作 app.run(function($http, $rootScope){ $http.get('CALL_TO_YOUR

我在main.js中使用了一个API,API的输出将在使用rootscope的多个页面和控制器上使用。因此,我需要确保API在加载任何页面之前运行。目前,页面首先被加载,然后API运行。因此,我无法将API输出绑定到html div


请帮忙

您可以使用angular服务调用api并注入控制器,也可以在配置中使用provider并将数据分配给
$rootScope
执行类似操作

app.run(function($http, $rootScope){
  $http.get('CALL_TO_YOUR_API')
  .success(function(data, status, headers, config) {
    $rootScope.config = data;
    $rootScope.$broadcast('API-loaded');
  })
  .error(function(data, status, headers, config) {
    // log error
    alert('error');
  });
})

app.controller('MainControl', function($scope, $rootScope) {
  $scope.$on('API-loaded', function(){
//DO your stuff  
  });
});

您需要在config.js中使用resolve

.state('sampleState', {
                 url: "/sample",
                 templateUrl: "sample.html",
                 controller: 'SampleCtrl',
                 resolve: {
                     companyDetails : function($http) {
                         return $http.get('api/v1/get_sample')
                             .then(function (data) {
                              return data
                             }, function (data) {
                             });
                     }
                 }
             })

您需要在路由中使用resolve。但是,由于您没有提供任何代码或任何东西,因此没有人能够帮助您。请用正确的代码更新您的问题。我不确定我是否理解。。。。如果将API的结果分配给
$rootScope
对象,则使用此对象的所有页面/控制器都会自动更新。也许,您可以添加一些示例代码、您得到的内容以及希望看到的内容。