> php教程 > PHP开发 > AngularJS 확장 사용 세부 정보 및 예제 코드

AngularJS 확장 사용 세부 정보 및 예제 코드

高洛峰
풀어 주다: 2016-12-06 16:24:31
원래의
1516명이 탐색했습니다.

AngularJS 확장 사용법

angle.extend: 두 번째 매개변수의 첫 번째 수준 속성과 후속 매개변수(단순 속성이든 객체이든)를 복사하여 첫 번째 매개변수의 첫 번째 수준 속성에 할당합니다. .속성, 즉 객체인 경우 동일한 객체를 참조하고 첫 번째 매개변수 객체를 반환합니다.

예시 1: var r = angle.extend(b, a); 객체 a의 첫 번째 수준 속성(단순 속성이든 객체이든)을 복사하여 첫 번째 수준에 할당합니다. 객체 b의 level 속성, 즉 객체라면 동일한 객체를 참조하여 객체 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 = 각도 .extend(b, a, z); 객체 a와 z의 첫 번째 수준 속성(단순 속성이든 객체이든)을 연속적으로 복사하여 객체 b의 첫 번째 수준 속성에 할당합니다. 객체인 경우 동일한 객체를 참조하고 객체 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":"经营公司"}}
로그인 후 복사

예제가 아무리 많아도 예제만큼 간단하고 직접적이며 정확하지는 않습니다. angle.extend 소스 코드는 다음과 같습니다.

Js 코드

/**
 * @ngdoc function
 * @name angular.extend
 * @function
 *
 * @description
 * Extends the destination object `dst` by copying all of the properties from the `src` object(s)
 * to `dst`. You can specify multiple `src` objects.
 *
 * @param {Object} dst Destination object.
 * @param {...Object} src Source object(s).
 * @returns {Object} Reference to `dst`.
 */
function extend(dst) {
 var h = dst.$$hashKey;
 forEach(arguments, function(obj){
  if (obj !== dst) {
   forEach(obj, function(value, key){
    dst[key] = value;
   });
  }
 });
  
 setHashKey(dst,h);
 return dst;
}
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿