2013-10-04 2 views
0

breezejs 및 WEBAPI를 사용하여 각 제품의 제품 목록을 가져 오면 구성 요소 목록이 있습니다. ⅰ) (data.results를 [0] .component를 이동할 때이 오직 하나 개의 성분을 취득하면서 Breezejs 중첩 배열 및 결과 바인딩

원료 결과

var list = function (productsObservable) { 
     var query = EntityQuery.from('Products') 
        .expand('components') 
     return manager.executeQuery(query) 
       .then(querySucceeded) 
       .fail(datacontext.queryFailed); 

     function querySucceeded(data) { 
      // process results 
     } 
    } 



function querySucceeded(data) { 
    productsObservable(data.results); 
} 

    var productsObservable= ko.observableArray([]); 
는 목록에서 제 제품의 3 개 요소의 목록을 보여 정렬.

/breeze/Breeze/products를 탐색 할 때와 동일한 기능으로 각 제품의 모든 구성 요소를 볼 수 있습니다.

오전 누락 된 항목이 있습니까? 다음은 내가/breeze/Breeze/products를 직접 호출했을 때의 응답입니다.

{ 
    $id: "1", 
    $type: "DD.Product, DD_Model", 
    Id: 1, 
    Name: "XXXX", 
    Components: [ 
    { 
     $id: "2", 
     $type: "DD.Component, DD_Model", 
     Id: 1, 
     Name: "component1" 
     Product: { 
      $ref: "1" 
     }, 
    }, 
    { 
     $id: "3", 
     $type: "DD.Component, DD_Model", 
     Id: 2, 
     Name: "component2" 
     Product: { 
      $ref: "1" 
     }, 
    }, 
    { 
     $id: "4", 
     $type: "DD.Component, DD_Model", 
     Id: 11, 
     Name: "component3" 
     Product: { 
     $ref: "1" 
     }, 
    } 
    ], 
    }, 

오브젝트 메타 데이터는 두 개의 별도의 데이터 유형을 사용하고 구성 요소를 배열에 넣어하는 것 나에게 보이는/바람/바람/메타 데이터

답변

0

를 통해 서버에서 검색됩니다.

JSON을 다시 가져올 때 추가 속성이 있지만 GCDMS.Models.CalibrationEquipment, GCDMS_Model 유형이므로 DD.Components에 매핑되지 않는다고 생각합니다. 당신이 등, 당신이 경기를 보여주고 어떤 데이터가 반환이 제공 올바른 외모를, 무엇을하고 있는지 모든 의도와 목적을 위해

편집

... 내가 제안 할 수

있는 유일한 방법은 결과가 리턴 된 후에 메소드에 이것을 넣고 console.log (entityManager.getEntities());를 호출하십시오. 3 개의 구성 요소가 있는지 확인하고 올바르게 매핑되었는지 확인하십시오.

+0

그건 단지 복사 및 붙여 넣기 실수 였고, 구조적으로 모든 구성 요소가 동일하고 아무런 차이가 없었습니다. – ken

+0

귀하의 질의를 보냅니다 .Succeeded function then please. 또한 서버 메타 데이터를 사용하거나 자신 만의 설정을하고 있습니까? –

+0

querySucceed 함수를 추가하고 예. 서버에서 메타 데이터를 가져옵니다. 고마워. – ken