-1
我開始與角JS,我創建了一個工廠與學生數據。 學生數據如下所示。
{
"male": [
["John", "Smith", "2000-10-10"],
["James", "Smith", "2000-10-10"]
]
}
我有一個工廠,一個控制器設置如下圖所示
.factory('Students', ['$http', function($http) {
var data = {};
return {
getStudents: function() {
$http.get('api/students.json').
success(function(data, status, headers, config) {
console.log(data.male); //returns the array of males
data.studentlist = data.male;
data.propertyOne = 'propertyOne'; //returns propertyOne but should also return in console.log(data) that I have further down the page.
console.log(data.propertyOne);
}).
error(function(data, status, headers, config) {
// log error
console.log('error');
});
data.propertyTwo = 'propertyTwo';
console.log(data); //returns propertyTwo
return data;
}
}
}]);
.controller('StudentCtrl', ['$scope', 'Students',
function ($scope, Students) {
$scope.students = Students.getStudents();
console.log($scope); // only properyTwo is returned in the students scope
}])
我不能工作是如何得到這被裝上的成功將被添加到我的數據對象的數據? 正如您從我的評論中看到的那樣,我在成功時返回了數據,但在我的成功功能之外不再可用? 我需要在這裏更改這個工作,以便在我的控制器中,我可以訪問從我的students.json文件返回的學生列表。
有許多的這些,這裏有一些其他.. HTTP://計算器。 com/questions/12505760/processing-http-response-in-service,http://stackoverflow.com/questions/19121918/returning-response-data-from-http-in-angular-factory。官方文檔相當不錯好。 – PSL 2014-10-22 01:38:28