最近 angular を勉強しています。これは新しいプロジェクトであり、vue よりもはるかに曖昧に感じられるためです。
コードを投稿して指導を求めてください
黄舟2017-06-07 09:25:44
vue については理解できるので、不適切な比較をさせてください。vue には data() 関数とメソッド オブジェクトがあり、それらが返すプロパティとメソッドは、angular でも同様です。スコープ内 オブジェクトのメソッドとプロパティはテンプレートで直接使用できます。
天蓬老师2017-06-07 09:25:44
簡単に言えば、私は上記の内容に同意します。これはビューとコントローラーの間のリンクとして理解できます。
実際には、データ駆動型フレームワークの場合、ページ (ビュー) の変更はデータの変更に基づいて行われます。この $scope
は通常、ページ データを保存するために使用されます。もちろん、この機能はページ上に表示されるデータを保存することに限定されず、表示する必要はないが「他のことが起こる」ことを可能にするデータを保存することもできます。
さらに複雑に言うと、私の理解では、$scope
是一个基于 $rootScope
的实例。scope 这个单词本身就有作用域的意思,Angular 中的 $scope
は $rootScope
に基づくインスタンスです。スコープという言葉自体は範囲を意味します。Angular の
controller
可以通过 $parent
访问父级 controller
的 $scope
たとえば、JavaScript では、子関数は変数名を通じて親関数のスコープにアクセスできますが、親は子にアクセスできません。同様に、Angular では、子の controller
は $parent
を通じて親の controller
の
$rootScope
;二是通过 $emit
由事件去控制;三是通过 factory
或者 service
还有 constant
親が子にアクセスするには、JavaScript には通常 2 つの解決策があります。1 つはグローバル変数を使用する方法、もう 1 つは独自のスコープ内の特定の値を公開するクロージャーの書き込みを使用する方法です。 Angular でも同様の方法があり、1 つは
$scope
長い目で見ると、
controllerAs
语法,这样你就不需要在 Angular 1 中用 $scope
了。在 Angular 2 中是肯定不用 $scope
Angular 1 で
controllerAs
構文について学ぶことができます。 Angular 2 では、 は絶対に使用されません。
ここで言えることは非常に限られています。必ず公式ドキュメントを読むことをお勧めします:
https://github.com /angular/an... .$scope
を理解しないとうまく書くのは難しいでしょう。上記は純粋に個人的な理解です。修正を歓迎します🎜🎜