AngularJS工厂、服务和HTTP使用
AngularJS Factory, Service and HTTP Usage
我刚开始学习angular,并且很难理解一些基础知识。
我的控制器线路如下所示:
$scope.test = fileLoader.loadFile();
我的工厂服务如下所示:
angular.module('myWellnessTrackerApp')
.factory('fileLoader', function($http) {
return{
loadfile : function(fileLoc){
$http.get('data/sideEffects.json').success(function(data) {
// you can do some processing here
return data;
});
}
};
});
这引发了一个错误。但当我的控制器线路是时
$scope.test = fileLoader.data;
我的服务是
angular.module('myWellnessTrackerApp')
.factory('fileLoader', function($http) {
var obj = {content:null};
$http.get('data/sideEffects.json').success(function(data) {
// you can do some processing here
obj.content = data;
});
return obj;
});
我不理解,我希望能够理解如何在HTTP服务包装器中制作服务,特别是用于请求页面或本地文件并将其返回的服务。
感谢
你不能只做
$scope.test = fileLoader.loadFile();
loadFile
是一个异步调用,您不能从中返回!您可以使用.then
来继续promise模式。您的工厂将更改为:
loadFile : function(fileLoc){
return $http.get('data/sideEffects.json').then(function(result) {
// you can do some processing here
return result.data;
});
}
你的控制器:
fileLoader.loadFile().then(function(data) {
$scope.test = data;
});
相关文章:
- //而不是在src=“”上使用http://"属性
- 我无法使用angularJs($http)访问服务器
- Typescript angularjs$http获取响应类型(避免使用<any>)
- 使用插件收听Firefox标签的http请求
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- AngularJS使用http进行promise处理
- 在AngularJS服务中使用$http回调
- http请求使用html而不是json进行响应
- Angular.js-$http.get-使用文件中的缓存
- 使用2个控制器管理工厂JSON$http数据
- 使用服务工作者动态缓存HTTP URL的包装器
- 未捕获的错误: [$injector:modulerr] http ..(使用纯 HTML)
- HTTP使用拦截器测量每个请求的时间
- AngularJS$http使用Ajax URL发送数据
- AngularJS工厂、服务和HTTP使用
- Angular.js HTTP使用$routeParams获取
- 如何遍历$http.使用Angular
- 搜索'www.'替换为'http://'使用regex javascript
- HTTP(S)使用Javascript请求并接收JSON数据
- 无法显示来自$http使用角度,django获取的数据