AngularJS控制器使用工厂函数
AngularJS controller using factory function
我有以下代码,其中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())
它是未定义的。
谢谢! !
这就是答案,阅读下面的要点来理解这个概念。
- 您正在将值赋给作用域变量$scope。用户,所以你可以为它做日志。
- 你正在成功地获得响应,所以你也可以再次登录这里。
但是当您尝试记录console.log($scope.getProfile())时,它不会返回任何内容。
如果得到响应。下面的代码应该可以正常工作。
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();
});
相关文章:
- Jasmine测试工厂函数调用本地函数和另一个函数-获取错误:应该是间谍,但得到了function
- 为什么我没有从angularJS中的这个工厂函数中得到响应
- 工厂函数给出“;错误:未定义
- 什么是jQuery中的工厂函数
- AngularJS 工厂函数无法访问本地存储的缓存变量
- 工厂函数不返回数据
- 打字稿中的工厂函数语法
- 调用工厂函数会触发错误
- 在JS模块加载的上下文中,什么是立即执行的工厂函数
- Angular工厂函数需要返回一些东西吗
- 如何从外部调用Angularjs工厂函数
- AngularJS文档:工厂函数没有返回任何内容
- 构造函数与工厂函数
- 在Angular中,如何等待工厂函数完成并处理输出?
- Angular js的模态弹出式调用工厂函数
- 在AngularJS中,如何让一个工厂函数引用另一个工厂函数?
- AngularJS控制器使用工厂函数
- 如何定义一个同名的Typescript构造函数和工厂函数
- ES.下一个装饰器可以直接调用,也可以作为工厂函数调用
- 工厂函数的依赖注入(AngularJS)