###前提・実現したいこと
angular-resourceの$resource(URL).get(key)や.query(key)の戻り値をディープコピーしたいです。
angular.copy()では、promiseが解決されませんでした。
###発生している問題・エラーメッセージ
コンソールに'test2 resolved'が出力されない。
test1 resolved
###該当のソースコード
jsvascript
1app.controller('Ctrl', function($scope, $resource) { 2 var self = this; 3 4 self.test1 = $resource('data.json').get(); 5 self.test2 = angular.copy(self.test1); 6 7 self.test1.$promise.then(function() { 8 console.log('test1 resolved'); 9 }) 10 11 self.test2.$promise.then(function() { 12 console.log('test2 resolved'); 13 }) 14});
###試したこと
jsvascript
1 self.test2 = angular.copy(self.test1);
上記を、
jsvascript
1 self.test2 = {}; 2 self.test2.$promise = self.test1.$promise;
と変えてみたところ、promiseは解決されるものの、ディープコピーになりませんでした。
promise が参照渡しになっているようです。
###補足情報(言語/FW/ツール等のバージョンなど)
angularjs1.5、angular-resource1.5
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/07 04:49 編集