2016-03-27 12 views
0

$ scope($ scope.myfunction = function(){})を使用せずに定義された関数と変数の違いを知る必要があります。

$ scopeのプロパティにすることなく、コントローラ内で変数または関数を定義するかどうかを知る必要があります。これらの変数/メソッドのスコープは何ですか?それは$ windowsのスコープを取得しますか?

私のコードを整理するために私のコントローラの中にいくつかの関数を定義したいのであれば、$ scopeメソッドなしでこれらの関数を定義するのはいいですか?

ベストプラクティスは何ですか?

答えて

0

はい。一般的にビューに必要とされない関数で$ scopeを汚染しないでください。

0

javascriptの関数スコープはすべて同じです。この点に関して本質的には角度がないものは何もありません。ここでそれについて読むことができます:What is the scope of variables in JavaScript?

コントローラ(または関数)内で宣言された関数はウィンドウスコープを持たないことがわかります。 $ scopeオブジェクトのプロパティではない関数を定義することはOKです。実際には、$ scopeオブジェクトに変数/関数を添付するのは、テンプレート内で使用する場合(ベストプラクティス)のみです。