[英]Code Understanding
我試圖理解以下代碼:
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);
});
}
根據我的理解, $emit
行為與$broadcast
相同,因此我們發出“ change”,然后在observeInfo()
捕獲此事件,但是將angular.copy(callInfo)
參數作為函數發送有什么好處,以及究竟observeInfo(fn)
什么observeInfo(fn)
使用此參數。 有人可以解釋一下嗎
observeInfo
函數只是提供一種定義回調的方法,該回調將在每次發出“ changed”事件時執行。 將使用事件提供的值作為參數來調用此函數。 在此示例中,它是callInfo
變量。
angular.copy()
僅用於確保同一對象(或對該對象的引用)沒有傳遞到回調中,因此對回調函數中的數據進行的任何更改都不會影響原始變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.