Comme nous l'avons suggéré précédemment, la façon la plus propre de copier profondément des objets contenant des objets imbriqués est d'utiliser la méthode cloneDeep de lodash.
Pour Angular, vous pouvez procéder comme suit :
Installer lodash avec yarn add lodash
ou npm install lodash
.
Dans votre composant, importez cloneDeep
et l'utiliser :
import * as cloneDeep from 'lodash/cloneDeep';
...
clonedObject = cloneDeep(originalObject);
Ce n'est que 18kb ajoutés à votre construction, cela en vaut la peine pour les avantages.
J'ai également écrit un article ici si vous avez besoin de plus d'informations sur l'utilisation de cloneDeep de lodash.
3 votes
Duplicata possible de Comment puis-je utiliser angular.copy dans angular 2 ?