2016-04-26 43 views
0

我們正在嘗試使用裝飾器覆蓋現有代碼,以確保實際代碼不被更改。使用裝飾器訪問私有變量和角度服務的功能

但是,我們能夠覆蓋使用這個聲明的服務中的函數。如果一個服務包含像函數example()這樣的私有函數,我無法覆蓋。

能否請你幫我提供一個選項,如何閱讀使用「this」

請找到plunker例如函數和未聲明的變量 -

var upstream = angular.module('thirdParty', []); 

http://plnkr.co/edit/QQh5ljTvIb1p8tTYXicn?p=preview 

從上面的例子,的getContent是可訪問的,getContent1不可訪問。

感謝您的幫助。

回答

1

局部變量不能在JavaScript的函數範圍之外訪問。每個私有函數/變量都應該暴露爲方法/屬性,以便在外部作用域中可用。

使用下劃線命名約定私有屬性/方法從公共者區別開來:

this._privateMethod =() => { ... }; 
+0

非常感謝estus – Phanikiran

+0

不客氣。 – estus