2016-12-22 23 views
-2

AngularJSの$ root$ rootscopeの違いは何ですか?

+9

http://stackoverflow.com/questions/22785775/difference-between-scope-and-rootscope –

+0

私はOPがこれを望んでいると信じています。http: //stackoverflow.com/questions/22216441/what-is-the-difference- between-scope-root- and-rootscope –

答えて

0

$ scopeは、現在のコンポーネント、たとえばコントローラ、サービスのみからアクセス可能なオブジェクトです。 $ rootScopeは、アプリケーションのどこからでもアクセスできるオブジェクトを指します。 $ rootScopeはグローバル変数、$ scopeはローカル変数と考えることができます。

0

$ scopeは、普通のJavascriptオブジェクトで、$ rootScopeの子です。 MVC Architectureの 'view'部分と 'controller'部分の間のバインディング要素です。

$ scopeは、アプリケーションの変数とメソッド/関数である特性と動作をそれぞれ提供するためにコントローラ内で使用できます。

$ rootScopeは、これら2つのものを定義するためにも使用できますが、大規模なデータ衝突を引き起こす可能性があります。また、グローバルな名前空間が汚くなります。

AngularJSのすべてがオブジェクトとみなされます。匿名のコールバック関数さえ、コントローラ内部のオブジェクトと見なされます。

$ scopeは、ビューとコントローラ間の双方向データバインディングを提供します。ウォッチリストの中にある$ apply、$ watchなどの組み込みサービスを提供します。これはキューです。これらはモデル突然変異を監視し、同期を提供する。

$ rootScopeは、2つのコントローラ間の通信を提供するために使用されます。 $スコープで割り当てられた変数は、アプリケーション全体を通してアクセス可能です。 $スコープはコントローラ固有のものですが、

$ rootScopeは変数のグローバルスコープを提供しますが、$ scopeは同じスコープのローカルスコープを提供します。

詳細については、親切に、ここで基本的なスニペットチェック:https://github.com/TheAjinkya/AngularSnippets

関連する問題