我有以下代码,其中controller
使用factory
函数通过api请求获取用户数据。
控制器
myApp.controller('UserApiCtrl', function($scope,$auth,Account){
$scope.getProfile = function(){
Account.getProfile()
.then(function(response){
$scope.user = response.data;
})
.catch(function(response){
// errors handled here
})
};
$scope.getProfile();
})
工厂
angular.module('MyApp')
.factory('Account', function($http){
return {
getProfile: function(){
return $http.get('/api/me');
}
}
});
现在在我console.log(response.data)
的控制器中,json数据可用,但当我console.log($scope.getProfile())
时,它是未定义的。
谢谢!
答案 0 :(得分:1)
以下是答案,请阅读以下内容以了解这一概念。
但是当你尝试记录 console.log($ scope.getProfile())时,它不会返回任何内容。在角度中你可以保留在范围对象中的所有东西。
答案 1 :(得分:0)
如果你得到response.data,那么下面的代码应该可以正常工作。
myApp.controller('UserApiCtrl', function($scope,$auth,Account){
$scope.user = {}; // Change to [] if response.data is array
$scope.getProfile = function(){
Account.getProfile()
.then(function(response){
$scope.user = response.data;
console.log($scope.user);
})
.catch(function(response){
// errors handled here
})
};
$scope.getProfile();
});