1

AngularJS Wiki - Anti-Patternsには次のように記載されています。

しないでください。コール スタックで十分に高くないif (!$scope.$$phase) $scope.$apply()ことを意味します。$scope.$apply()

そして、私はこれを理解しています。何をいつ実行する必要があるかを決定する組み込みロジックがあります。また、外部の開発者が、さまざまなプロシージャのランタイム実行に直接関与することなく、何をどこで実行するかを決定すると、フレームワークに対抗します。

しかし、現在、アップロードの進行状況が進行状況バーに表示される大きなファイルをアップロードしています。私が使用するライブラリ (resumableJS) には、fileProgress というイベントがあり、アップロードの進行中に呼び出されます。そのイベント中に何もしないと、バーは更新されません。そこに置く$scope.$apply()と、それに応じてバーが更新されますが、ダイジェストおよび/またはすでに進行中のエラーを適用します。最後に、$$phaseチェックの助けを借りて、エラーなしで更新されたプログレス バーの両方の利点を最大限に活用できます。

angularsの処理順序に干渉せずにバーを更新するための正しい代替手段は何ですか?

4

2 に答える 2