AngularJS 拡張の使用法
Angular.extend: 2 番目のパラメーターと後続のパラメーター (単純なプロパティまたはオブジェクトかどうか) の第 1 レベルのプロパティをコピーして、最初のパラメーターの第 1 レベルのプロパティに割り当てます。が object の場合、同じオブジェクトを参照し、最初のパラメータのオブジェクトを返します。
var r = angular.extend(b, a); オブジェクト a の第 1 レベルのプロパティ (単純なプロパティであるかオブジェクトであるか) をコピーして、オブジェクト b の第 1 レベルのプロパティに割り当てます。つまり、オブジェクトの場合、同じオブジェクトを参照し、オブジェクトを返します。 b
Js コード
var a = { name : 'bijian', address : 'shenzhen', family : { num : 6, amount : '80W' } }; var b = {}; var r = angular.extend(b, a); console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r)); b.address = 'hanzhou'; b.family.amount = '180W'; console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r));
実行結果:
テキスト コード
a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} b:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} r:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"180W"}} b:{"name":"bijian","address":"hanzhou","family":{"num":6,"amount":"180W"}} r:{"name":"bijian","address":"hanzhou","family":{"num":6,"amount":"180W"}}
例 2: var r = angular.extend( b, a, z); オブジェクト a と z の第 1 レベルの属性 (単純属性かオブジェクトかに関係なく) をオブジェクト b の第 1 レベルの属性に連続的にコピーして割り当てます。オブジェクトの場合、同じオブジェクトを参照し、オブジェクト b
Js コード
var a = { name : 'bijian', address : 'shenzhen', family : { num : 6, amount : '80W' } }; var z = { family : { amount : '150W', mainSource : '经营公司' } }; var b = {}; var r = angular.extend(b, a, z); console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r)); b.address = 'hanzhou'; b.family.amount = '180W'; console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r));
実行結果:
テキスト コード
a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} b:{"name":"bijian","address":"shenzhen","family":{"amount":"150W","mainSource":"经营公司"}} r:{"name":"bijian","address":"shenzhen","family":{"amount":"150W","mainSource":"经营公司"}} a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} b:{"name":"bijian","address":"hanzhou","family":{"amount":"180W","mainSource":"经营公司"}} r:{"name":"bijian","address":"hanzhou","family":{"amount":"180W","mainSource":"经营公司"}}
例がいくつあっても関係ありません。 、ソースコードほど単純ではなく、直接的で単純ではありません。正確で角度があり、拡張ソースコードは次のとおりです。