2013-06-04 87 views
0

我在應用程序中使用第三方JavaScript庫,我需要能夠監視特定數組屬性的更改。因此,例如,第三方庫在任何時候加載小部件時都會向widget.loadingQueue添加一個對象。我希望能夠監視這個屬性,並在數組中有元素時顯示加載指示器。該庫是開源的,但如果可能的話,我想這樣做,而不必通過他們的源代碼,並找到每次他們添加一些東西到數組並添加一個方法調用。監視對陣列的更改

+0

如果你只需要觀察一個數組,而且由於這只是一個用戶體驗增強,而不是核心齒輪,所以基於setInterval的觀察者可以很好地處理它。如果您需要10個以上的setIntervals,請查看更結構化的東西。 – dandavis

回答

6

如果他們通過調用push()添加到數組,你可以簡單地創建一個用於運行處理代碼,並呼籲Array.prototype.push()陣列上的自定義push()方法。

這就是Google Analytics的_gaq數組的工作原理。

+0

謝謝,這對我來說是一個很好的開端。不幸的是,圖書館似乎沒有調用「pop」來刪除元素,所以我不得不深入研究一下,但「push」運行良好。 – Kyle