ファイルのアップロード中に( を介して) イベントを発生させるファイル アップロード ディレクティブがあります。これは、進行状況バーを更新するためscope.$emit
にコントローラーで ( を介して) キャッチされます。scope.$on
ファイル アップロード ディレクティブはng-switch
-ed アウトされるため、ユーザーはファイルのアップロード中にファイルに関するその他の情報を入力できます。彼らがこれをしている間、プログレスバーが更新され続けることを望みます。これはバージョン 1.0.2 では問題なく動作していましたが、1.0.4 では壊れているようです。
私が作成した jsFiddleは大幅に単純化されていますが、問題が示されています。ページが最初に読み込まれると、ディレクティブからイベントが発生し、コントローラーでキャッチされ、すべてが期待どおりに更新されます。ただし、ディレクティブがng-switch
削除されるようにドロップダウンを変更すると、イベントが捕捉されなくなります。コンソールを見ると、イベントはまだ取得$emit
中ですが、コントローラーはそれをキャッチしなくなります。(http://jsfiddle.net/uysAM/1/ )に置いても$on
、まだ同じ問題があります。イベントがまだ処理されている場合、なぜスコープはそれをキャッチしなくなるのでしょうか?$rootScope
$emit
上部のタグの src を<script>
1.0.2 を使用するように変更すると、問題なく動作します。これは最新バージョンの新しいバグですか? 助けてくれてありがとう。