あなたのモジュールがいつでも使用しているバインディングの数(テンプレート '{{ .. }}
/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. SQLのテーブル内のカラムの総数を取得するには
- 3. 総数を取得するための和集合問題
- 4. Tridionページネーション - 結果の総数を取得
- 5. DateTimeからの総秒数の取得
- 6. Sphinx MySQLを使用した結果の総数を取得
- 7. アカウントのリツイートの総数を取得するには?
- 8. MediaWiki Wikiの記事の総数をプログラムで取得する
- 9. TFSチームプロジェクトのチェンジセットの総数を取得する
- 10. 条件に合致するエントリの総数を取得する
- 11. 制限付きセットを取得中にレコードの総数を取得する - Oracle
- 12. テンプレート内の$ dataの双方向バインディングを取得する
- 13. ViewFlipperからの総ビュー数を取得する方法は?
- 14. 連絡先の総数を取得する方法android
- 15. MPDFの総ページ数を取得する方法は?
- 16. ノックアウトJSにBindingHandler内部のバインディング式を取得する方法
- 17. 総コメント数/好き数を取得するには? (Facebook)
- 18. jqueryを使用して行の総計とテーブルの総計を取得する
- 19. カート内の特定の製品の総数を取得し、ループ内に表示します
- 20. クエリは、行の総数と別個の行の間の差を取得する
- 21. PHPで整数で表示される総数を取得
- 22. レポートビューアを使用してレポートの総ページ数を取得
- 23. ruby on railsの既存のpdfの総ページ数を取得する方法は?
- 24. AndroidでDbusを実行するためのJavaバインディングの取得
- 25. フッタ内の総ページ数を編集SelectPDF
- 26. 異なる値を持つPHPの複数のチェックボックス配列 - チェックされたチェックボックスの総価格を取得
- 27. Apache POI HSSF。総ページ数を取得する
- 28. すべてのノートを取得せずにノートの総数を取得するには
- 29. ラムダ関数を使用したリスト内のオブジェクトプロパティ値の総和
- 30. 1日あたりの注文総数を計算するためのSQLクエリ?
可能複製[ページ上の時計の合計数をカウントするには?](http://stackoverflow.com/questions/18499909/how-to-count-total-number-of-watches -on-a-page) –