Je veux ajouter le tableau d'objets suivant avec celui existant dans angulajs pour implémenter plus de fonctionnalités.
c'est-à-dire, ajouter AJAX réponse avec une réponse existante à chaque fois.
J'ai une variable, $scope.actions
Qui contient les données suivantes JSON
,
{
"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 la réponse suivante JSON
à 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 cela ne fonctionne pas et le message d'erreur suivant s'affiche
$scope.actions.data.concat is not a function
Vous pouvez utiliser angular.extend(dest, src1, src2,...);
Dans votre cas ce serait:
angular.extend($scope.actions.data, data);
Voir la documentation ici:
https://docs.angularjs.org/api/ng/function/angular.extend
Sinon, si vous ne recevez que de nouvelles valeurs du serveur, vous pouvez procéder comme suit:
for (var i=0; i<data.length; i++){
$scope.actions.data.Push(data[i]);
}
Cela fonctionne pour moi:
$scope.array1 = $scope.array1.concat(array2)
Dans votre cas ce serait:
$scope.actions.data = $scope.actions.data.concat(data)
$scope.actions.data.concat is not a function
même problème avec moi mais je résous le problème en
$scope.actions.data = [].concat($scope.actions.data , data)
Facile
var a=[{a:4}], b=[{b:5}]
angular.merge(a,b) // [{a:4, b:5}]
Testé sur angular 1.4.1