1

とにかく、バインディング内の変数を更新/再コンパイルするようにAngularを強制する方法はありますか?配列(HTML内のforループとして定義されている)を[]に設定すると、問題が発生しますが、配列が取得されません。何か案は?

4

1 に答える 1

3

回避策の1つは、同じ配列参照で作業することを確認することです。すべての要素をバインドされた配列に更新するときはいつでも、このようにしています。

myArray.length = 0;
angular.forEach(newArray, function(item){
   myArray.push(item);
})

// Note: try without this line first as it isn't always necessary
$scope.$digest();

を使用myArray.length = 0すると、配列への参照を保持している配列がクリアされます。詳細については、この投稿を参照してください。

また、通常のスプライスシフト解除を使用して、配列の先頭にあるアイテムをそれぞれ削除および追加することもできます。

于 2012-08-08T18:09:57.617 に答える