angular에서copy와extend용법 실례
11036 단어 Angular
angular.copy () 깊이 복사
정의: 대상이나 그룹을 복사합니다.destination을 생략하면 새로운 대상이나 그룹이 생성됩니다.2. destination을 제공하면 소스 대상의 모든 요소와 속성이 destination에 복사됩니다.3. 만약에 소스가 대상이나 수조(예를 들어null 또는undefined)가 아니라면source를 되돌려줍니다.4.source와 destination 형식이 일치하지 않으면 이상이 발생합니다.주의: 이것은 단순 복사 덮어쓰기입니다. 유사한 계승이 아닙니다.
사용 방법:
angular.copy(source, [destination]);
매개변수:
매개변수 이름
매개변수 유형
묘사
source
*
복사된 대상입니다.null과undefined를 포함한 모든 종류를 사용할 수 있습니다.
destination (optional)
Object,array
코피가 가는 목적지.생략할 수 있습니다. 생략하지 않으면 소스와 동류여야 합니다
source의 값은 destination의 값을 완전히 덮어씁니다
angular.module('copyApp', [])
.controller('CopyController', ['$scope', function($scope) {
var source={
name:'chentian',
age:27,
email:'[email protected]',
clothse:{
clothse1:'aaa',
clothse2:'bbb',
clothse3:'ccc',
clothse4:'ddd',
}
};
var destination={
money:'10000',
house:'1',
car:'2'
};
console.warn('destination',destination);
var test=angular.copy(source,destination);
console.warn('test',test);
console.warn('source',source);
console.warn('destination',destination);
}]);
angular.extend()
정의: 두 번째 매개변수와 다음 매개변수의 첫 번째 레이어 속성(단순 속성이든 객체든)을 첫 번째 매개변수의 첫 번째 레이어 속성에 순차적으로 복사하고 첫 번째 레이어 속성이 객체인 경우 동일한 객체를 참조하고 첫 번째 매개변수 객체를 반환합니다.
사용 방법:
angular.extend(destination, [source]);
실례1:
var r = angular.extend(b, a)
;객체의 첫 번째 속성(단순 속성이든 객체든)을 객체의 첫 번째 속성a
에 복사하여 부여하고 객체의 경우 동일한 객체를 참조하여 객체b
로 반환합니다.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:
b
;객체var r = angular.extend(b, a, z)
의 첫 번째 레이어 속성(단순 속성이든 객체든)을 객체a、z
의 첫 번째 레이어 속성으로 복사합니다. 즉, 객체인 경우 동일한 객체를 참조하고 객체b
로 돌아갑니다.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';// ,z b.family.amount z , a 。 a , ,z ,a
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":" "}}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
연말이므로 웹 앱을 만들었습니다.minmax 패널을 번갈아 가서 총 득점을 겨루는 게임이다. 선수는 좋아하는 위치에서 시작된다. 후손은 선수가 선택한 위치를 포함한 세로 일렬 중에서 패널을 선택한다. 다시 선수는 후손이 선택한 패널을 포함한 가로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.