空の配列をAngular-UI Bootstrap Modalに渡す Angular アプリケーションがあります。ユーザーの選択に応じて、最大 1000 個のオブジェクトをアイテムで埋めるかどうかを指定できます。それらすべてを のリストに表示しng-repeat
ます。リスト内のすべてのアイテムは事前に生成されているため、たとえばsmart-tableなどのプラグインを使用して非同期に取得することはできません。ユーザーがOKcontroller
ボタンを押すと、生成されたすべての値が呼び出された場所に返されます。技術的には、私は参照渡しをしているので、それらはすべて既にそこにあり$scope.items
ます:
resolve: {
items: function () {
return $scope.items;
}
}
しかし、キャンセル$scope.items.length=0;
ボタンを押すと、しばらく時間がかかるという問題を呼び出して、配列内のすべてのアイテムを消去しています。以下のプランカーの例では、ほとんど目立ちませんが目立ちますが、実際のアプリケーションでは、はるかに目立ち、受け入れられません。
私の推測では、Angular の双方向バインディングが原因で、すべてのウォッチャーをクリーンアップするには時間がかかりますが、この問題を解決できるかどうかはわかりません。
plunker での私の MCVE はこちら: http://plnkr.co/edit/JwanDxBzh3a7ilEX58z8?p=preview
更新: 1 回限りのビンジングを使用しようとしました。
<li ng-repeat="item in items">
<a href="#"> {{ ::item | date:'yyyy-MM-dd' }}</a>
</li>
ここで説明されているように: https://stackoverflow.com/a/18791503/947111役に立ちませんでした。