検索

ホームページ  >  に質問  >  本文

angular.js - angularjs で 2 つのコントローラーでリアルタイム通信を実現するにはどうすればよいですか?

コントローラー a と b があり、コントローラー a をクリックした後、コントロール b に p を表示するにはどうすればよいですか?

例: コントローラー a はメニュー、コントローラー b はコンテンツ領域です。a で別のメニューをクリックし、b で別のコンテンツの表示を制御します。

少し努力してみました: サービスとファクトリーを試しましたが、データを共有できるだけで、リアルタイムでトリガーすることはできません

迷茫迷茫2793日前893

全員に返信(5)返信します

  • PHP中文网

    PHP中文网2017-05-15 16:58:29

    ここでは 2 つの方法を試しました:
    1. angular 独自のイベント メカニズムを使用します

    リーリー

    コントローラーで使用され、イベント通知を b に送信するために a を追加します:

    リーリー

    2. サービスを使用してコールバック イベントをシミュレートする 本質は、コントローラー間で使用するグローバル コールバック関数を保存することです。 リーリー

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 16:58:29

    そうだね。イベントのバブリングとトンネリングのメカニズムを試すことができます。

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:58:29

    こちらからご覧いただけます

    より直接的に言うと、$broadcast と $on を試すことができますが、効率は悪くなります

    返事
    0
  • 滿天的星座

    滿天的星座2017-05-15 16:58:29

    上に書いたことは十分に純粋ではない(他の考慮事項と混合している)ので、純粋なバージョンを追加します。
    デモが提供されています

    コードは次のとおりです

    リーリー

    返事
    0
  • 黄舟

    黄舟2017-05-15 16:58:29

    1) すべてのイベントをグローバルに管理するイベント バスを作成します
    2)。

    返事
    0
  • キャンセル返事