これは angular.extend 関数に基づいた extendDeep 関数です。これを $scope に追加すると、呼び出すことができます
$scope.meta = $scope.extendDeep(ajaxResponse1.myMeta, ajaxResponse2.defaultMeta);
探している答えを得ることができます。
$scope.extendDeep = function extendDeep(dst) {
angular.forEach(arguments, function(obj) {
if (obj !== dst) {
angular.forEach(obj, function(value, key) {
if (dst[key] && dst[key].constructor && dst[key].constructor === Object) {
extendDeep(dst[key], value);
} else {
dst[key] = value;
}
});
}
});
return dst;
};
注: この関数には、後の引数から前の引数に値をコピーするという副作用があります。この副作用を簡単に修正するには、に変更できdst[key] = value
ますdst[key] = angular.copy(value)
。