2017-01-16 6 views
0

Ich versuche folgendes Stück Code zu verstehen:-Code zu verstehen

function changeInfo(newCallInfo) { 
    angular.extend(callInfo, newCallInfo); 
    internalScope.$emit('changed', angular.copy(callInfo)); 
} 

function observeInfo(fn) { 
    return internalScope.$on('changed', function (e, val) { 
     fn(val); 
    }); 
} 

Gemäß meinem Verständnis $emit verhaltene gleiche wie $broadcast hier so wir emittieren ‚Veränderung‘ und dann in observeInfo() dieses Ereignis zu fangen, aber was ist der Nutzen zu senden angular.copy(callInfo) Parameter als Funktion und was genau observeInfo(fn) mit diesem Parameter tun. Kann jemand das erklären

Antwort

0

Die observeInfo Funktion bietet einfach eine Möglichkeit, einen Rückruf zu definieren, der jedes Mal ausgeführt wird, wenn das "geänderte" Ereignis ausgegeben wird. Diese Funktion wird mit dem Wert aufgerufen, der mit dem Ereignis als Parameter geliefert wurde. In diesem Beispiel ist es die callInfo Variable.

Die angular.copy() wird einfach verwendet, um sicherzustellen, dass das gleiche Objekt (oder Referenz auf das Objekt) nicht in den Rückruf übergeben wird, so dass Änderungen an den Daten innerhalb der Callback-Funktion die ursprüngliche Variable nicht beeinflussen.

+0

ich sehe so ist dies eine Callback-Technik –

Verwandte Themen