angularJS イベント処理のコンテキストで、2 つのことを考えていました。
- 同じイベントをリッスンするハンドラーがトリガーされる順序はどのように定義されますか?
- これについて疑問に思い始めたら、それは悪い設計の兆候ですか?
angular $on、$broadcast、$emit、およびネイティブDOM イベント フローに関するドキュメントを読んだ後、さまざまなスコープでイベント ハンドラーがトリガーされる順序を理解したと思います。問題は、複数のハンドラーがさまざまな場所 (コントローラーとサービスなど) から同じスコープ (たとえば $rootScope) でリッスンする場合です。
問題を説明するために、1 つのコントローラーと 2 つのサービスを備えた jsfiddle をまとめました。すべて $rootScope http://jsfiddle.net/Z84tX/を介して通信します。
Thanks