ローカルストレージにオブジェクトの配列があります。私は "toSync = true"でマークされているときにサーバーと "同期"したいと思う。
だから私はobj.toSync==true
とforEach
私はobj.toSync=false
を設定し、すべてがうまくと$localStorage
に更新され、成功コールバックで$http.put
を行うに保つために、私の配列をfilter
。またはが..変更された可能性があるいくつかの他のフィールドと置くために、サーバ応答ので
大丈夫だった、私は前obj.toSync=false
にangular.merge(obj, rsp.data)
を行うには、成功コールバックを変更しました。
angular.merge
obj
は$localStorage
で更新されていません。もちろん、私は明示的にそれを再び格納することができますが、なぜ$localStorage
を一連の関数に渡す前に理解したいでしょうか。
angular.merge
が「参照」をobj
に変更している場合は多かれ少なかれです。
あなたはコードの中で、 '$ localStorage'に明示的に追加/置き換えられる 'SetXyz(id、object)'があります。実際にはすべての「同期」がオブジェクト自体によって行われるため、それは私を悲しくします。これで '$ localStorage'を第3のパラメータとして' sync'関数に渡す必要がありました(あるいはすべてをサービスに移動してオブジェクトを貧血にする必要がありました)。とにかくありがとう –
@Anonymous意味貧血は何ですか? (英語以外のスピーカーはこちら)。 btw、質問/回答に合わせてタイトルを更新しました –
@ Jean-Philippe、By _anemic_彼らはまったく行動していないという意味で、データ(akka DTO)のみを含んでいます。 –