2017-01-16 1 views
0

を作成せずに別のものに一つのオブジェクトをマージします。は、私はすべての10秒後にソケットを経由してオブジェクトを提供し、単純なAPIを持っている私は、角度1</p> <p>で働いている新しいオブジェクト

応答は、ang1ビューを生成するために使用される既存のオブジェクトを更新するオブジェクトです。

しかし、私は1つのオブジェクトを1つ置き換えると、ページ全体が少しちらつきます。オブジェクトの変更されたリーフだけが変化するので、あるオブジェクトを別のオブジェクトにマージすることは可能ですか?

私はjqueryの拡張でgoを持っていましたが、これは別のレベルの高すぎるレベルにコピーします。ここで

は一例です:

var a = { 
    'bob': { 
    'gender': 'male' 
    }, 
    'cat': { 
    'gender': 'female' 
    } 
}; 
var b = { 
    'bob': { 
    'gender': 'female' 
    }, 
    'cat': { 
    'gender': 'female' 
    } 
}; 

私が達成しようとしています何のvar Aへのvar Bからに違いのみをマージします単一の関数です。したがって、上記の例では、関数はa.bob.genderのみを変更します。

+0

を「angular.marge機能がちらつきからビューを防ぐことができますビューの元バインディングを保持します」トピックがオフですが、そのためには[loadsh](https://lodash.com/docs/4.17.4#difference)または[アンダースコア](http://underscorejs.org/#difference)を試すことができます –

+0

私の質問はトピックから外れていることに同意します、それはangular1に影響するjavascriptの問題です。私はロダッシュを試しました。これはjqueryと同じですが、出力は新しいオブジェクトで、これによりangular1はビューを完全に再構築します。 – John

+1

angular.extendを調べてマージしましたか?既存のオブジェクトを変更したり、新しいオブジェクトを作成したりすることができます – ste2425

答えて

関連する問題