我是新的角度,我試圖加載工廠內的CSV列表,然後將其轉換爲json。我在工廠內部使用Papaparse(CSV到json庫)。當我在控制檯登錄工廠時,我得到的是我想要的對象數組,但是當我將其傳遞給控制器時,我得到一個包含所有數據的單個對象。角度工廠不返回對象的數組,但單個對象
這是我廠
(function() {
var app = angular.module('test');
app.factory('testFactory', ['$http', function($http) {
var url = 'my-list.csv';
var getContact = function() {
return $http.get(url).success(function(data) {
Papa.parse(data, {
header: true,
complete: function(results) {
console.log(results.data);
return results.data;
}
});
});
};
return {
getContact: getContact
};
}]);
}());
這是我的控制器
(function() {
var app = angular.module('test');
app.controller('testCtrl', ['$scope', 'testFactory', function($scope, testFactory) {
testFactory.getContact().then(function(data) {
$scope.contacts = data;
console.log(data);
});
}]);
}());
我希望能夠做一些事情這樣我的看法
{{ contact.firstname }}
因此,來自工廠的'console.log(results.data)'給出了與控制器中的'console.log(data)'不同的東西嗎? – Tom
對不起,他們是不同的。工廠結果返回數組對象,控制器返回一個包含所有數據的對象。 – pap
我認爲如果將'$ http.get(url).success'更改爲'$ http.get(url)。 '在工廠 – Tom