有沒有辦法獲得您的模塊在任何時間點使用的綁定總數(通過模板{{ .. }}
/ng-xxx="..."
,$scope.$watch(...)
等)獲取您的應用程序/模塊中綁定的總數
回答
你應該能夠使用document.getElementsByClassName("ng-binding").length
得到一個大概的想法。正如here所解釋的,該類適用於具有{{ ... }}
或ng-bind
綁定的元素,因此您可以使用綁定來獲取數字或元素。它會錯過任何沒有以這種方式定義的東西。
所有表達式綁定都應該使用$parse
來解釋表達式,所以如果您對臨時度量感到滿意,您可以嘗試在角度源代碼中向此服務添加一些調試代碼。應該很容易看到綁定創建的時間,但很難看到它何時被銷燬。
看着目前的主人,它看起來像$parse
將改變爲1.2.0,這可能會讓事情變得更容易在Chrome中。爲此,您應該可以使用Chrome開發人員工具創建堆快照(從「配置文件」選項卡),然後使用構造函數搜索所有對象。
您也可以使用這樣的事情
var watchersPerScope = $('.ng-scope').map(function() {
var s = $(this).scope();
if(s.$$destroyed) return 0;
return (s.$$watchers || 0) && s.$$watchers.length;
}).get();
var totalWatchers = 0;
for(var i=0; i<watchersPerScope.length; i++)
totalWatchers += watchersPerScope[i];
console.log(totalWatchers);
查看整個應用程序,你有觀察家的數量我知道這些都不是偉大的解決方案,以你的要求,但他們至少東西。最後的建議是,如果您出於性能方面的考慮,Chrome的Batarang具有非常好的性能部分。
在角(1.3.2 +)更新版本,您還可以使用
$rootScope.$countWatchers();
如果您在該頁面的ngMock
模塊。請參閱文檔here。
這是一個非常棒的答案。它讓我一眼就發現了我之前沒有注意到的一些與我的網頁有關的明顯問題。 –
我認爲從http://stackoverflow.com/questions/18499909/how-to-count-total-number-of-watches-on-a-page接受的答案也是相關的 –
以下是關於如何在任何時候使用瀏覽器控制檯執行此操作的文章。該文章還包含了如果您已經引導多個應用程序來獲取綁定數量的代碼。
http://intervalia.blogspot.com/2015/01/how-to-determine-number-of-bindings-in.html
的- 1. 在您的asp.net應用程序中獲取SSRS報告數據
- 2. 在Node.js中,模塊如何從應用程序的package.json中獲取數據?
- 3. android:從模塊中獲取應用程序名稱
- 4. Dropwizard + Guice Bundle在模塊中獲取應用程序配置
- 5. 從symfony任務中獲取應用程序/模塊上下文
- 6. 將鍵組合綁定到您的應用程序
- 7. 模塊和類型綁定程序
- 8. 您是否將您的Perl應用程序開發爲CPAN模塊?
- 9. Android應用程序中的模塊性
- 10. 獲取應用模塊
- 11. 如何從遠程MySQL數據庫獲取數據到您的應用程序?
- 12. 獲取支持的設備清單爲您的應用程序
- 13. 如何獲取您的iphone應用程序的列表
- 14. Google App Engine上的應用程序捆綁模塊
- 15. 從應用程序中獲取特定應用程序
- 16. 在asp.net中獲取未綁定數據列的總和Gridview
- 17. 模塊化應用程序的數據庫表命名約定
- 18. 模塊化Sinatra應用程序中的Ruby URI模塊奇怪
- 19. 從輔助模塊獲取應用程序上下文
- 20. Facebook應用程序 - 獲取總用戶數
- 21. 爲您的應用程序獲取所有活動令牌
- 22. 模塊化應用程序
- 23. 在您的應用程序
- 24. WPF和多線程ADO.NET應用程序中的數據綁定
- 25. 在多線程應用程序中的數據綁定datagridview
- 26. 在Backbone.Marionette應用程序中變成「未定義」的子模塊
- 27. 「在asp.net應用程序中找不到指定的模塊」
- 28. JSP/Servlet Web應用程序中的重定向模塊
- 29. 如何在Windows 8應用程序的數據綁定應用程序中添加json從數據綁定應用程序中的json
- 30. IIS應用程序綁定
可能重複[如何計算一個網頁上的手錶的總數是多少?(http://stackoverflow.com/questions/18499909/how-to-count-total-number-of-watches一頁) –