フリーランス チャレンジ!!

フリーランス チャレンジ!!

週休4日制に俺はなる!

【AngularJs】ディープコピー(angular.copy)の正しい使い方がわかった!!

f:id:ksakae1216:20170309220005j:plain

みなさん、コウタロウです!!

 

今日はタイトルについて。

 

 

angular.copyでハマった

今日、仕事でハマりました。

 

angular.copyでオブジェクトをコピーして使ってたんだけど、angular.copyをコードに入れたら他のコードが動かなくなった。

※正確には動くんだけど、意図しない動きに変わっちゃった

 

angular.copyについて

ここでanglar.copyについて少し説明します。

JavaScriptにおいてオブジェクト、配列の代入は参照渡しです。

www.ksakae1216.com

 

上記記事の中でもangular.copyについて紹介してますが厳密に言うとこれも間違っています。

 

正しい使い方

 では、正しい使い方を紹介します。

gist8ac7c01989627679285b7be83ca95adf

 

ポイントは、まずコピーしたオブジェクトを変数に入れます。

次に、変数をanuglar.copy()でコピーするんです。

 

間違っても、コピーしたオブジェクトをいきなりangular.copy()でコピーしないで下さい。

私はいきなりコピーして意図しない動きになっちゃいました。

 

意外とどのサイト見てもちゃんとした使い方が載ってなかったです。

 

angular.copy()が うまく動かない人はぜひ参考にして下さい。