2016-12-20 4 views
0

こんにちは皆、助けを借りて、私のポストを読んでくれてありがとう。 私はサービスがあります。指示文で更新するオブジェクトの配列の参照を保持する

var itemsMarker = {}; 
    itemsMarker.items = []; 

ので、私はitemsMarkersの項目を更新する必要がありたび: //ここでは、私がitemsMarker.items前とそのコード行で

angular.copy(source, itemsMarker.items); 

たびにきれいにすべきであるが変数の参照は失われませんので、配列が変更されるたびに私の指示文 ng-repeat=itemsMarker.itemsが更新されます。

しかし、遅いのでangular.copyを使用したくありません。

1.-まずオプション:リファレンスがなくなった
itemsMarker.items.length = 0; itemsMarker.items = _.clone(newArraySameStruct);

は、だから私はそれを、これらのオプションを交換しようとしました。変更後にng-repeatは更新されません。私が試した

2.-番目のオプション: itemsMarker.items.length = 0; itemsMarker.items.push(newArraySameStruct);

が、それは私がここに実装することができますどのように配列newArraySameStruct into itemMarker.items[0][newArraySameStruct]

を追加しますか?よろしくです。 よろしくお願いします。

+0

試してみてください 'angular.extend' –

答えて

0

コピーの場合のみ、_.アンダースコアライブラリを含めないでください。よりよい解決策ではありません。 angular.extendまたは他の角法を使用できます。ここでは、より多くの情報を見つけることができます。 Should I Use Angular.copy() or _.clone()?

+0

と思われます。今は大丈夫です。将来的に自分のオブジェクトのコピーを作成することをお勧めしますか? angular.extendはangular.copyより高速ですが、遅いためです。 –

関連する問題