2

現在、問題を回避するために $scope.$$phase を使用してError: $digest already in progressいますが、将来壊れる可能性があるかどうかが心配です。「$$」がプレフィックスとして付いているため、これは angularjs の内部状態であることを理解しているため、ユーザー コードで使用するべきではなく、その動作はいつでも変更される可能性があります (間違っていた場合は修正してください)。しかし、この問題に対する他の良い回避策が見つからないため、これを使用することを余儀なくされていますが、将来が不確実なものを使用するのは少し不快です.

私の質問は、$$ で始まるスコープ変数 (具体的には $$phase) の API の安定性に関するポリシーはありますか? 公式ドキュメントを掘り下げて検索しましたが、これに関する多くの情報を見つけることができませんでした。

4

1 に答える 1

0

将来的に変更されないことを保証することはできませんが、現在の angular.js ソースがどのように見えるかを考えると、そうなる可能性はかなり低いと思われます。

とにかく、$scope.$$phase と $scope.$apply() を使用してスクリプトを単一の再利用可能なサービスにラップすることをお勧めします。そのため、将来的には、何百ものファイルではなく 1 つの依存関係を置き換える必要があります。

$scope.safeApply()は、車輪を再発明したくない場合の適切な例です:)

于 2013-09-18T13:07:03.243 に答える