Bonjour,
Encore quelque chose qui m'embête pour lequel je creuse mais ne vois pas de réponse....(vive les débutants ^^).
Jusque là je progresse tout doucement en js et Angular mais là je pige vraiment pas.
Ce que je fais :
Sur une réponse de requête http, j'affecte le resultat à 2 variables comme ceci :
$scope.apts = response.data;
$scope.apts _saved = response.data;
Dans une fonction executée au click, je modifie des valeurs dans $scope.apts du genre :
$scope.apts[$index].lvl=$level;
Rien de bien savant, au niveau de $scope.apts_saved, la seule fois ou je l'utilise dans mon code est pour l'afficher avec la console.
Mon problème :
Quand je fais, après l'execution de la fonction modifiant uniquement $scope.apts un console.log des 2 objets, j'ai en retour 2 objets identiques.
C'est à dire que la valeur que je modifie dans $scope.apts l'est aussi dans $scope.apts_saved.
Est-ce quelqu'un aurait une explication ?
Merci bcp ^^
En fait tu modifie une propriété d'un objet qui doit être le même dans tes 2 tableaux donc même si il est à 2 endroits c'est le même objet du coup si tu le modifie qque part il est modifié partout.
Tu peux utiliser angular.copy
https://docs.angularjs.org/api/ng/function/angular.copy
Merci pour ta réponse Graf' je pensais qu'en affectant l'objet à des variables différentes chacune d'elle avait les valeurs de l'objet distinctement, comme quoi....
As-tu une solution ou peut-etre que je n'ai simplement pas compris le principe variable/objet ?