속성 이름이 포함 된 변수를 사용하여 자바 스크립트의 개체에서 속성을 선택하는 방법

pcvnes

AngularJS 컨트롤러에서 JSONP 요청을 만드는 함수를 만들었습니다. 이 요청은 다음 형식을 가진 JSONP 객체를 반환합니다.

[{  
  "Domain_1":{  
    "Notes":"This information can be usefull for generic information",
    "Contacts":[  
      {  
        "ContactName":"P. rimary",
        "ContactPhone":"+31 612 273 88"
      }
    ]
  },
  "Domain_2":{  
    "Notes":"This information can be usefull for generic information",
    "Contacts":[  
      {  
        "ContactName":"S. secondary",
        "ContactPhone":"+31 612 273 88"
      }
    ]
  }
}];

다음 함수에서 JSONP 요청을 할 때 객체가 성공적으로 반환됩니다. ($ scope.method 및 $ scope.domainName은 범위 수준에서 설정 됨) 내가 원하는 것은 $ scope.domainName의 값과 일치하는 JSON 데이터의 특정 부분을 선택하고이를 범위 변수 $ scope에 할당하는 것입니다. domainData.

$scope.fetch = function() {
  $scope.code = null;
  $scope.response = null;

  // Only make JSONP request if domain name is known
  if ($scope.domainName !== null) {
    $http({method: $scope.method, url: $scope.url, timeout: 5000}).
      success(function(data, status) {
        $scope.status = status;
        console.log("Data:") ; console.dir(data) ;
        console.log("Domain Name"  + $scope.domainName) ;
        $scope.domainData = data[$scope.domainName] ;
        console.log("DomainData: ") ; 
        console.dir($scope.domainData) ;
      }).
      error(function(data, status, headers, config) {
        $scope.domainData = null ;
        $scope.status = status;  
        console.log("$scope.fetch failed" + $scope.status + " :: " + data) ;       
      });
  } else {
      console.log("Shame... nothing to do..... ") ;
  }
};

코드가 실행되면 도메인 이름은 "Domain_1"이고 데이터에는 다음이 포함됩니다 (콘솔에 표시됨).

0: Object
  Domain_1: Object
    Contacts: Array[1]
      0: Object 
        ContactName:"P. rimary"
        ContactPhone:"+31 612 273 88"
...

그러나 $ scope.domainData는 정의되지 않았습니다. 이 선택이 올바르게 작동하도록하려면 어떻게해야합니까?

르창

응답 개체는 캡슐화 대괄호를 기반으로 최상위 수준의 배열로 나타납니다. 즉, 도메인 이름으로 직접 역 참조 할 수 없습니다. 이를 해결하기위한 한 가지 접근 방식은 성공 기능에서 다음과 같은 것입니다.

$scope.domainData = data[0][$scope.domainName];

이것은 물론 0응답 객체가 길이 1의 배열이 될 것이라고 항상 확신 하는 경우 에만 하드 코딩하는 것이 좋습니다 (예제에서와 같이). 항상 그런 것이 아니라면 일치하는 속성을 찾는 일종의 반복 순회를 구현해야 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

변수를 사용하여 자바 스크립트 개체의 함수 속성에 액세스하는 방법

분류에서Dev

밑줄이 포함 된 변수를 사용하여 개체 속성에 액세스하는 방법

분류에서Dev

자바 스크립트의 클래스 이름에서 속성과 동일한 이름의 함수를 선언하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트의 변수 이름을 사용하여 배열 내부에 객체 속성을 추가하는 방법은 무엇입니까?

분류에서Dev

속성 자체를 사용하여 속성의 이름을 얻는 방법

분류에서Dev

자바 스크립트를 사용하여 중첩 된 객체에서 모든 자식의 단일 속성을 얻는 방법은 무엇입니까?

분류에서Dev

자식 값 배열에 특정 속성이 포함 된 json 객체를 선택하는 방법

분류에서Dev

람다를 사용하여 매개 변수로 전송 된 속성의 이름을 가져 오는 방법

분류에서Dev

메서드를 포함하여 자바 스크립트에서 한 클래스의 속성을 다른 클래스로 복사하는 방법

분류에서Dev

자바 스크립트 객체가 사전 정의 된 키없이 속성 만 가질 수있는 방법

분류에서Dev

ant 스크립트를 사용하여 속성 파일에 정의 된 파일 이름을 복사하는 방법

분류에서Dev

점이 포함 된 모델에서 자식 속성을 사용하는 방법

분류에서Dev

자바 스크립트에 속성을 포함하지 않는 방법

분류에서Dev

자바 스크립트를 사용하여 중첩 된 레일 형식의 입력 이름 속성 분할

분류에서Dev

함수 자바 스크립트에서 자체 속성을 얻는 방법

분류에서Dev

자바 스크립트에서 생성 된 요소를 선택하는 방법

분류에서Dev

자바 스크립트를 사용하여 객체의 속성 값을 얻는 방법

분류에서Dev

자바 스크립트에서 상속 된 속성의 getter setter 메서드 실행을 방지하는 방법

분류에서Dev

자바 스크립트 개체의 속성에 대한 계산을 수행하고 인쇄하는 방법

분류에서Dev

자바 스크립트 : onClick 함수를 사용하여 개체의 가변 색상을 변경하는 방법

분류에서Dev

요소 속성에 자바 스크립트 함수를 할당하는 방법

분류에서Dev

새 속성을 추가하기 위해 jquery를 사용하여 자바 스크립트 함수 객체를 확장하는 방법은 무엇입니까?

분류에서Dev

선택 상자의 이름 속성을 동적으로 변경하는 방법

분류에서Dev

Birt보고에서 자바 스크립트를 사용하여 속성을 설정하는 방법

분류에서Dev

속성이있는 자체 포함 된 태그에 대해 Java에서 xml 주석을 작성하는 방법

분류에서Dev

속성 이름에 문자열 연결을 사용하는 자바 스크립트를 난독 화 해제하는 방법

분류에서Dev

자바 스크립트를 사용하여 yaml 속성을 읽는 방법

분류에서Dev

배열 자바 스크립트에서 객체의 속성을 변경하는 방법 (React Native)

분류에서Dev

자바 스크립트 클로저 (매개 변수 이름을 사용하여 동일한 함수에서 객체를 정의)

Related 관련 기사

  1. 1

    변수를 사용하여 자바 스크립트 개체의 함수 속성에 액세스하는 방법

  2. 2

    밑줄이 포함 된 변수를 사용하여 개체 속성에 액세스하는 방법

  3. 3

    자바 스크립트의 클래스 이름에서 속성과 동일한 이름의 함수를 선언하는 방법은 무엇입니까?

  4. 4

    자바 스크립트의 변수 이름을 사용하여 배열 내부에 객체 속성을 추가하는 방법은 무엇입니까?

  5. 5

    속성 자체를 사용하여 속성의 이름을 얻는 방법

  6. 6

    자바 스크립트를 사용하여 중첩 된 객체에서 모든 자식의 단일 속성을 얻는 방법은 무엇입니까?

  7. 7

    자식 값 배열에 특정 속성이 포함 된 json 객체를 선택하는 방법

  8. 8

    람다를 사용하여 매개 변수로 전송 된 속성의 이름을 가져 오는 방법

  9. 9

    메서드를 포함하여 자바 스크립트에서 한 클래스의 속성을 다른 클래스로 복사하는 방법

  10. 10

    자바 스크립트 객체가 사전 정의 된 키없이 속성 만 가질 수있는 방법

  11. 11

    ant 스크립트를 사용하여 속성 파일에 정의 된 파일 이름을 복사하는 방법

  12. 12

    점이 포함 된 모델에서 자식 속성을 사용하는 방법

  13. 13

    자바 스크립트에 속성을 포함하지 않는 방법

  14. 14

    자바 스크립트를 사용하여 중첩 된 레일 형식의 입력 이름 속성 분할

  15. 15

    함수 자바 스크립트에서 자체 속성을 얻는 방법

  16. 16

    자바 스크립트에서 생성 된 요소를 선택하는 방법

  17. 17

    자바 스크립트를 사용하여 객체의 속성 값을 얻는 방법

  18. 18

    자바 스크립트에서 상속 된 속성의 getter setter 메서드 실행을 방지하는 방법

  19. 19

    자바 스크립트 개체의 속성에 대한 계산을 수행하고 인쇄하는 방법

  20. 20

    자바 스크립트 : onClick 함수를 사용하여 개체의 가변 색상을 변경하는 방법

  21. 21

    요소 속성에 자바 스크립트 함수를 할당하는 방법

  22. 22

    새 속성을 추가하기 위해 jquery를 사용하여 자바 스크립트 함수 객체를 확장하는 방법은 무엇입니까?

  23. 23

    선택 상자의 이름 속성을 동적으로 변경하는 방법

  24. 24

    Birt보고에서 자바 스크립트를 사용하여 속성을 설정하는 방법

  25. 25

    속성이있는 자체 포함 된 태그에 대해 Java에서 xml 주석을 작성하는 방법

  26. 26

    속성 이름에 문자열 연결을 사용하는 자바 스크립트를 난독 화 해제하는 방법

  27. 27

    자바 스크립트를 사용하여 yaml 속성을 읽는 방법

  28. 28

    배열 자바 스크립트에서 객체의 속성을 변경하는 방법 (React Native)

  29. 29

    자바 스크립트 클로저 (매개 변수 이름을 사용하여 동일한 함수에서 객체를 정의)

뜨겁다태그

보관