Tropicalista
Tropicalista

Reputation: 3137

How to extend an object with angular.extend?

I'm trying to extend an object in angularJs using multiple ajax calls results. However only the last results extends my empty object.

$rootScope.progress = {}; // the objkect to extend

$http.get('data.json').
then(function(result){angular.extend($rootScope.progress,result.data)}),

$http.get('error.json').
then(function(result){angular.extend($rootScope.progress,result.data)}),

$http.get('data2.json').
then(function(result){angular.extend($rootScope.progress,result.data)}),

$http.get('data3.json').
then(function(result)    {angular.extend($rootScope.progress,result.data)})

You could see a plunker here:http://plnkr.co/edit/iDmsTpDpFUnvrv1pCUU9?p=preview

Upvotes: 0

Views: 1584

Answers (1)

hutingung
hutingung

Reputation: 1800

It is because all your data return is array instead of object.

Changed all the data.json to object.

Refer to http://plnkr.co/edit/Gq22dsksxlPYCryM1BOs?p=preview

If your json always return array, then your $scope.result should changed to array.

you can use $scope.result = $scope.result.concat(value.data);

Upvotes: 1

Related Questions