2016-09-07 5 views
0

トリガーするイベントの配列を待ってから関数を実行することは可能ですか?私はすべてのイベントを個別に監視し、どのイベントが発生したかを追跡することは可能ですが、このための機能は組み込まれていません。このようなすべてのイベントが発生したときに、角度とトリガーで複数のイベントを監視する

何か:

$scope.$on(["event1", "event2", "event3"], function() { 
    // All events fired do stuff 
}); 

イベントは次のように放送されています

$rootScope.$broadcast('event1'); 
+0

あなたは実装や何かを探していますか? – k102

+0

好ましくは組み込まれています。組み込みの機能が利用できない場合でも実装はうまくいくと思います。 – Firze

+0

私はそのようなことはないと思う:それはいくつかの明確化が必要です:あなたは実際に "すべての出来事が起こされた"ことはどういう意味ですか?どのくらいの期間ですか?何かがそのような発砲の「キャンセル」することができますか? – k102

答えて

-1

申し訳ありませんが、コメントにこれを作っているだろうが、まだそれを行うのに十分な評判を持っていない:)

私は実際にはそういうことはないと思っていますが、同じようにすべてのイベントを処理している場合は、(おそらくやや明白な)質問です。また

あなたのコントロールのその外の場合(たとえば、たとえば、彼らは外部のライブラリから来る)、あなただけの別の名前の関数を定義し、その名前の関数にリスナーのそれぞれを指すことができます:

["event1", "event2", "event3"].forEach(function (eventName) { 
    $scope.$on(eventName, listenerFunction); 
}); 

function listenerFunction (event, data) { 
    // do something with event and data 
} 
+0

それは答えではありません。すべてのイベントが発生したときにのみ、 'listenerFunction'を呼び出さなければなりません。 – k102

+0

あなたは正しいですね。 –

関連する問題