2016-05-04 6 views
0

ジョン・パパ(the modules sectionを参照)モジュールを扱う一方で変数を作成するのではなく、連鎖することをお勧めします:"angular.module"ゲッターでメモリリークが発生しましたか?

回避が

彼は説明してゲッター構文​​での連鎖使う代わりに変数を使用して、その:

これにより、より読みやすいコードが生成され、変数の衝突や のリークが回避されます。

私はそれを設定し、変数にモジュールを取得して、より快適だ:

var app = angular.module('mymodule'); 
app.config(...); 
app.controller(...); 

とチェーンとあまり快適に:

angular.module('mymodule').config(...).controller(...); 

私はすぐに使用してコーディングしていたよう関数式(IIFE)を呼び出すと、変数の衝突が起こらないと確信しています。

しかし、リークはどうですか?私はモジュールを取得しvarに格納しているので、誰かが説明したりデモンストレーションしたアプリケーションが漏れることがありますか?

答えて

1

通常、メモリリークは発生しません。

ここでは、オーバーライドされたモジュールオブジェクトがグローバルスコープにリークし、ガベージコレクションできません。

<script> 
    var app = angular.module('overridden', []); 
</script> 

<script> 
    var overriddenApp = angular.module('overridden', []); 
</script> 
+0

私がJohn Papaのステートメントを読むと、コンポーネントを個別に追加するときにメモリリークが発生すると考えられました。あなたは私の考えを確認答え:) – Zakaria

関連する問題