2015-03-11 11 views
6

Bu tarafından şaşırdım. Açısal api ve githubda, sığ nesneler olan extend() 'den farklı olarak, iki nesne üzerinde derin bir birleştirme yapan bir birleştirme fonksiyonu vardır.Açısal 1.3.14 birleştirme (dst) mevcut değil

Ben Google'ın cdn'sini açısal olarak kullanırım ve angular.extend ('param') çalışır, ancak angular.merge ('param') çağrısı, undefined işlevini verir. angular.js öğesini google'dan ve onlardan bir açısaldan ayırmak, birleştirme google'da değil, açısal olarak var.

Bu sorunla ilgili herhangi bir fikir veya başka biri. Bir şekilde google'a izin verebilir miyim?

cevap

11

Bir aptal gibi hissedin, sadece beta sürümünde kullanılabilir 1.4 Umut hala merak eden birine de yardımcı olabilir. :)

Ayrıca son sürümü, onu kopyalayarak: Nitekim

//Leave out the {} to directly change src 
function merge(src, newObj) { 
    return angular.extend({},src, newObj); 
} 
+1

. Cevabınız çok yardımcı oldu. Ancak, birleştirme işlevi için kod kopyalayarak özel bir işlev yazdım, angularjs eski sürümlerinde kullanabilirsiniz - http://stackoverflow.com/a/29003438/548308. Kendi cevabınızı kabul edebilirsiniz :) – Mathankumar

+0

Sadece not etmek için, bu angular.merge' için bir polyfill/yerine değil. – JimmyBoh

+2

Bu doğru değil. Birleştirme ve genişletme farklıdır. "angular.extend", yinelemeli birleştirme (derin kopya) desteklemez - bu nedenle, nesnenizin derin bir kopyasını oluşturmak istiyorsanız angular.merge işlevini kullanmanız gerekir. –