我在main.js中使用API,API的输出将在使用rootscope的多个页面和控制器上使用。因此,我需要确保在加载任何页面之前运行API。目前,Page首先加载,然后运行API。因此,我无法将API输出绑定到html div。
请帮助!
答案 0 :(得分:0)
您可以使用角度服务来调用api并注入控制器或使用配置中的提供程序并将数据分配给$rootScope
答案 1 :(得分:0)
做这样的事情。
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
});
});
答案 2 :(得分:0)
您需要在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) {
});
}
}
})