2016-09-17 5 views
0

私は1ヶ月間Angularで遊んでいましたが、フレームワークのさまざまな部分の間で通信するために発信とブロードキャストを使用することが理にかなっていると思うたびに、私たちができるならば避けるべきであるという記事を見つけました(例えば:http://seanhess.github.io/2013/10/14/angularjs-directive-design.htmlAngular JSでemitとbroadcastを使用するタイミングは?

は、これまでのところ私はディレクティブとコントローラの間の通信に焦点を当て、およびコントローラとサービスの間:

  • 指令< - >コントローラー:ディレクティブからコントローラのメソッドは、私が孤立スコープとコールバックを使用して呼び出すには。もう一方の方向では、コントローラ内で、ディレクティブで監視されている状態変数と、変更されたトリガディレクティブのメソッドが使用されている状態変数を使用します。

  • コントローラ< - >サービス:同じメカニズム。私はコントローラの中で監視されているサービスのメソッドを、自分のコントローラで直接使用します(これはサービスの古典的な使用方法です)。

私の質問は簡単です:発光と放送が関連する場合の例と説明を教えてください。

答えて

0

メッセージまたはインナースコープからアウタースコープへのリクエストを送信する必要がある場合は、$ emitを使用できます。外側のスコープから内側のスコープまで同じことをしたい場合は、$ broadcastを使用します。

+0

私はこの点を知っていますが、むしろ「直接通信」(前述のコールバックとコールを使用)ではなくメッセージングシステムを使用するのが適切なのですか? – Kowalsy

+0

これは、直接通信が不可能な場合にのみ使用されます。コールバックは、機能がスコープ外ではなく同じスコープ内にある場合にのみ使用できます。 –

関連する問題