Comment fusionner deux objets de tableau dans angularjs?
Je veux ajouter suivants tableau d'objets avec l'existant dans angulajs pour la mise en œuvre de charger plus de fonctionnalité.
ie,l'ajout d'AJAX en réponse à celui existant à chaque fois.
J'ai une variable, $scope.actions
qui contient suivantes JSON
de données,
{
"total": 13,
"per_page": 2,
"current_page": 1,
"last_page": 7,
"next_page_url": "http://invoice.local/activities/?page=2",
"prev_page_url": null,
"from": 1,
"to": 2,
"data": [
{
"id": 2108,
"action_type_id": 202,
"user_id": 1
},
{
"id": 2108,
"action_type_id": 202,
"user_id": 1
}
]
}
Je veux ajouter suivants JSON
réponse à chaque fois que cette variable.
{
"data": [
{
"id": 2108,
"action_type_id": 202,
"user_id": 1
},
{
"id": 2108,
"action_type_id": 202,
"user_id": 1
}
]
}
J'ai essayé avec $scope.actions.data.concat(data.data);
mais il n'est pas de travailler et d'obtenir message d'erreur suivantes
$scope.actions.data.concat is not a function
- Angulaire a deux
extend
etcopy
que des copies des objets - stackoverflow.com/questions/19765283/...
- Depuis la nouvelle variable est exactement le même que
data
bien dans le premier échantillon, quelques précisions seraient les aider - docs.angularjs.org/api/ng/function/angular.copy
- laissez-moi essayer de
extend
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
angular.extend(dest, src1, src2,...);
Dans votre cas, il serait :
Voir la documentation ici :
https://docs.angularjs.org/api/ng/function/angular.extend
Sinon, si vous obtenez seulement de nouvelles valeurs à partir du serveur, vous pouvez effectuer les opérations suivantes
Error: $scope.actions.data.push is not a function
angular.extend({}, $scope.actions.data, data);
. docs.angularjs.org/api/ng/function/angular.extend. Cela m'aide beaucoup et cela fonctionne aussi pour moi.Cela fonctionne pour moi :
Dans votre cas, il serait :
même problème avec moi, mais je résoudre le problème par
Simple
Testé sur angulaire 1.4.1