簡體   English   中英

代碼理解

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM