我在Angular中有一项服务,它使用我的API获取用户信息并将其提供给我的控制器。它的成立是这样的:Force AngularJS服务在加载控制器之前返回数据
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'ngResource', 'infinite-scroll', 'ui.bootstrap', 'ngCookies', 'seo'])
.service('userInfo', function($http, $cookies){
$http.get('/api/users/' + $cookies.id).
success(function(data) {
var userInfo = data.user[0];
return userInfo;
});
}). // other stuff comes after this
在我的控制器,我把它给喜欢:
function userProfile($scope, $cookies, userInfo, $http, $resource, $routeParams, $rootScope){
$scope.user = userInfo;
console.log('user info is')
console.log(userInfo);
这是没有返回数据,而如果我把同样的服务功能的控制器本身它仅返回精细。我在这里错过了什么?以前从未在Angular中使用过DI /服务,所以在某个地方可能是一个简单的错误。
我需要确保服务返回数据之前控制器加载。如何完成这项工作
你可以简化你的console.logs,像这样: 'console.log('user info is',userInfo);' –
@EddieMongeJr真的吗?不知道,谢谢。 – Jascination