angular.js - angularjs中如何在两个控制器中实现实时通信?
迷茫
迷茫 2017-05-15 16:56:29
0
5
865

有两个控制器 a和b;在a控制器中有一个click事件,单击之后,怎样将b控制中的一个p显示出来?

举个例子:a控制器是菜单,b控制器是内容区,a中单击不同的菜单,b中要控制显示不同的内容,

一些努力:尝试了service和factory,只能共享数据,做不到实时触发

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(5)
洪涛

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

リーリー

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

リーリー

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

いいねを押す +0
过去多啦不再A梦

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

いいねを押す +0
给我你的怀抱

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

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

いいねを押す +0
滿天的星座

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

コードは次のとおりです

リーリー
いいねを押す +0
黄舟

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート