0

空の配列を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役に立ちませんでした。

4

1 に答える 1

1

わかりました、私は正しかったし、私はAngularでほとんどそこにone-time bindingいました。間違った場所で使用しただけng-repeatで、そのような方法で使用する必要があります:

 <li ng-repeat="item in ::items">
                    <a href="#"> {{::item | date:'yyyy-MM-dd' }}</a>
                </li>

この回答のおかげで: https://stackoverflow.com/a/23903690/947111

ここにあるワーキングプランカー: http://plnkr.co/edit/XWi6Z0eCXveV58WJfpo6?p=preview

于 2016-02-03T19:51:11.493 に答える