あなたのモジュールがいつでも使用しているバインディングの数(テンプレート '{{ .. }}
/ng-xxx="..."
、$scope.$watch(...)
などを介してフックされています)あなたのアプリケーション/モジュール内のバインディングの総数を取得する
答えて
document.getElementsByClassName("ng-binding").length
を使用して大まかなアイデアを得ることができます。説明したようにhere、このクラスは{{ ... }}
またはng-bind
バインディングの要素に適用されるので、バインディングを使用して番号または要素を取得できます。しかし、このように定義されていないものは欠けてしまうでしょう。
式の解釈には、式のバインドには$parse
を使用する必要があります。一時的な数値データがあれば角度ソースコードでこのサービスにデバッグコードを追加してみてください。バインディングが作成されたときはそれを確認するのは簡単ですが、破棄されたときは見やすくする必要があります。
現在のマスターを見ると、$parse
が1.2.0に変更され、Chromeで作業が楽になるようです。このためには、Chrome開発者ツールを使用してヒープスナップショット( 'プロフィール'タブから)を取得し、Parser
コンストラクタを使用してすべてのオブジェクトを検索する必要があります。あなたも、この
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)では
ページでngMock
モジュールが含まれている場合、あなたはまた、
$rootScope.$countWatchers();
を使用することができます。ドキュメント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. アレイ内のアイテムの総数を取得
- 2. ノックアウトの総バインディング数をカウントする
- 3. SQLのテーブル内のカラムの総数を取得するには
- 4. uploadifyアップロード前にキュー内にあるファイルの総数を取得する
- 5. angular2の可観測変数内のアイテムの総数を取得する方法
- 6. Synopsys:回路内のパスの総数を取得
- 7. コーパス内のすべての単語の総数を取得する方法は?
- 8. 総数を取得するための和集合問題
- 9. filestackアカウントでアップロードされたファイルの総数を取得する
- 10. Tridionページネーション - 結果の総数を取得
- 11. DateTimeからの総秒数の取得
- 12. djangoマークアップを使用して各オブジェクト内のオブジェクトの総数を取得する
- 13. レポートのレコード数と総計の数を取得する方法
- 14. ハイパースレッディングのない実際のプロセッサコアの総数を取得
- 15. Cakephpでページネーションで取得したレコードの総数を取得します。
- 16. お客様あたりの総請求額を取得
- 17. アカウントのリツイートの総数を取得するには?
- 18. TFSチームプロジェクトのチェンジセットの総数を取得する
- 19. MediaWiki Wikiの記事の総数をプログラムで取得する
- 20. クエリの総レコード数を取得する最速の方法
- 21. Sphinx MySQLを使用した結果の総数を取得
- 22. 条件に合致するエントリの総数を取得する
- 23. テンプレート内の$ dataの双方向バインディングを取得する
- 24. Codeigniter:countデータベースから取得したビューの行の総数。
- 25. 制限付きセットを取得中にレコードの総数を取得する - Oracle
- 26. 各ホテルの総コストを取得するためのSQLサブクエリ
- 27. リサイクルビューを取得するエスプレッソの総アイテム数
- 28. algoliaの結果と一致する総数を取得
- 29. MPDFの総ページ数を取得する方法は?
- 30. PHPExcelでプリントページの総数を取得する方法
可能複製[ページ上の時計の合計数をカウントするには?](http://stackoverflow.com/questions/18499909/how-to-count-total-number-of-watches -on-a-page) –