検索

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

angular.js - angular $scope.$on はイベントを受信し、繰り返し実行します

イベント

を介してcontrollerangular

間で値を渡します

ページがルートを更新するたびに、ビュー ui-view も更新されます。

バインドされたコントローラー

リーリー

が再ロードされます (listCtrl コントローラーをビュー内のラベルにバインドしているため)

controller

リーリー

は、listCtrl がリロードされた回数を記録します。testData イベントを受信すると、対応する回数だけ $on が繰り返し実行されます。

testData を 1 回だけ実行したいのですが、どうすればよいですか

给我你的怀抱给我你的怀抱2799日前1027

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

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:07:58

    ご招待ありがとうございます。サービスを作成するか、$rootScope にグローバル変数をハングしてください

    リーリー

    もちろん、イベントのサブスクリプションと送信に関しては、ルーティングのようなすべてのスコープの通知が必要な状況ではない場合は、AngularJS に付属するイベント メカニズムを使用せず、それを処理する EventBus サービスを作成することをお勧めします。あなた自身。 AngularJS のイベント メカニズムはスコープ ツリー全体を横断する必要があるため、パフォーマンスは平均的です。

    私たちのチームの内部概要を推奨します:
    https://github.com/ShuyunXIAN...

    返事
    0
  • キャンセル返事