複雑で深いオブジェクトであるstoredData.Department
があります。これはAngularJSによって使用されています。変更がUIに反映させることの必要性を生じた場合、私は新しいオブジェクトから既存のオブジェクトに変更をマージするためにjQueryの$.extend()
を使用していますXHRから返される:変更は添加されているときJavascript/jQuery - 別のオブジェクトからオブジェクトを更新する
$.extend(true, storedData.Department, res.data.Department);
は、これは素晴らしい作品 。残念ながら、のサブトラクションの変更はstoredData.Department
から削除されません。
storedData.Department
オブジェクトを更新されたオブジェクトで上書きすることはできますが、それは$.extend
と比べて大幅にパフォーマンスが低下します。
storedData.Department
を選択して更新するには、res.data.Department
で変更された内容を追加したり削除したりするにはどうすればよいですか?解決策は、合理的に実行可能である必要があります。
あなたのパフォーマンスの問題は、角のモーダルバインディングによるものです。元のオブジェクトを上書きするときに、プロパティのバインディングがすべて変更されたオブジェクトの代わりに更新されなければならない場合、B/c。純粋なJSが変化するまで、ポインタはそれ以上速くなることはできません。プロパティを削除するには、両方のオブジェクトをループし、削除したいobject.propertyを削除する必要があります。 –