1

AngularJS をいじり始めましたが、ディレクティブとスコープを理解するのに苦労しています。

私の理解が正しければ、DOM を変更するための動作とロジックを含む再利用可能なコンポーネントを作成するディレクティブを作成しますか?

では、ディレクティブにはサービスが注入されますか?

または、サービスが注入されたディレクティブでコントローラーを使用しますか?

ディレクティブとコントローラとサービス、およびスコープとの関係について、私は本当に苦労していると思います。

これを理解しやすい方法で説明している優れたチュートリアルはありますか?

4

3 に答える 3

4

サービスをディレクティブまたはコントローラーに挿入できます。私を助けてくれたのは、DOM 操作が行われる唯一の場所はディレクティブであると聞いたことです。

コントローラーは、ビューとサービスの間の接着剤であり、基本的にビューの動作を処理する必要があります。彼らは薄いはずです

サービスは、ビューから独立してロジックを管理します (シングルトンです)。

したがって、より宣言的で、反復的ではないと考えてください。 全体として、モデルで状態を表します。次に、モデルを変更できるようにバインディングを設定すると、ビューが自動的に変更されます (From: http://www.youtube.com/watch?v=oJoAnVRIVQo )

Angular チームの YouTube チャンネルをチェックしてみてください: http://www.youtube.com/user/angularjs

そして、ここにいくつかの優れたチュートリアルがあります: http://egghead.io

于 2013-10-12T17:47:09.283 に答える
1

サービスは、アプリ全体で状態を維持することを目的としています。- ほとんどの場合、コントローラー内に存在します - ディレクティブに挿入できます

コントローラーは、ビューから渡された値を使用してビジネス/アプリ ロジックを実行するためのものです。

ディレクティブは次の場合に役立ちます: - 再利用可能なコンポーネントの作成 - DOM またはフォームへの動作の追加 http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController

スコープは、ディレクティブまたはコントローラーがアクセスできるアプリ内のコンテキストです。- コントローラーを使用すると、スコープは割り当てられた DOM 要素とその子要素に限定されます。- ディレクティブを使用すると、スコープはコントローラーのスコープと同じスコープにすることも、独自のスコープ (他のすべてのスコープから分離する) にすることも、プロトタイプとして親スコープから継承する独自のスコープにすることもできます。

http://egghead.ioのビデオをお勧めします

于 2013-10-12T18:33:06.793 に答える