我想使用工厂从服务器获取数据,然后返回包含该数据的对象:
我的数据位于以下文件夹data / es / 20130709.json中,相对于index.html。
数据(20130709.json)采用以下格式:
{
"data": [
{"price": 1593.00, "volume": 385},
{"price": 1593.00, "volume": 385},
{"price": 1593.00, "volume": 385}
]
}
获取此数据并使工厂函数返回包含此数据的对象的最佳方法是什么。
谢谢。
答案 0 :(得分:1)
angular.module("myModule", []).service("myService", function($http){
var service = { data:[],
getData:function(){
$http.get("data/es/20130709.json").success(function(returnedData){service.data = returnedData});
}
};
service.getData(); //calling to populate data as soon as possible
return service;
}).controller("MyCtrl", function($scope, myService){
$scope.scopeData = {};
$scope.$watch( function () { return myService.data; }, function ( data ) {
// handle it here. e.g.:
$scope.scopeData = data;
});
});
HTML
<body ng-app="myModule">
<div ng-controller="MyCtrl"></div>
</body>
还有一个小提琴手: http://jsfiddle.net/5HayJ/