2015-03-11 22 views
6

Jestem zaskoczony tym. W kątowym api i github jest funkcja scalania, która dokonuje głębokiego scalenia dwóch obiektów, w przeciwieństwie do extend(), która wykonuje płytką kopię.Angular 1.3.14 Merge (dst) nie istnieje

Używam cdn Google dla kątowego, a wywołanie angular.extend ("param") działa, ale wywołanie funkcji angle.merge ("param") daje niezdefiniowaną funkcję. Porównując plik angular.js z google i ten z kanciastych, scalanie istnieje na kanciastym, ale nie w google.

Wszelkie pomysły lub ktoś inny z tym problemem. Czy mogę jakoś powiadomić google'a?

Odpowiedz

11

Poczuj się jak głupiec, jest dostępny tylko w wersji beta 1.4 Mam nadzieję, że to nadal jest w stanie pomóc komuś, kto się zastanawia. :)

kopiowane Również z najnowszej wersji:

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

Rzeczywiście. Twoja odpowiedź bardzo pomogła. Jednak napisałem funkcję niestandardową, kopiując kod do funkcji scalania, można go używać w starszych wersjach angularjs - http://stackoverflow.com/a/29003438/548308. Możesz zaakceptować własną odpowiedź :) – Mathankumar

+0

Należy jednak pamiętać, że nie jest to polyfill/zamiennik dla 'angular.merge'. – JimmyBoh

+2

To nie jest poprawne. Scalanie i rozszerzanie są różne. 'angular.extend' nie obsługuje scalania rekurencyjnego (deep copy) - dlatego musisz użyć' angular.merge', jeśli chcesz utworzyć głęboką kopię obiektu. –