2013-04-09 4 views
3

현재 .NET 웹 서비스에 대한 $ ajax 호출로 제공되는 많은 데이터 섹션을 분해하려고합니다. 이로 인해 페이지에서 스크립트 시간 초과가 발생합니다. 데이터가 녹아웃 뷰 모델에 매핑되는 경우. 나는 당신 과 같이, 하나의 뷰 모델에 여러 데이터 소스를 결합 할 수 있어야 그 문서에주의 : 아래 그림과 같이녹아웃 매핑 - 하나의 뷰 모델에 여러 데이터 소스

var viewModel = ko.mapping.fromJS(alice, aliceMappingOptions); 
ko.mapping.fromJS(bob, bobMappingOptions, viewModel); 

내가, 내 자신의 코드에서 이것을 시도했다, 그리고 첫 번째 패스에 나는 새로운 뷰 모델에 바인딩하고 후속 패스에 나는 동일한 뷰 모델에 바인딩을 시도 :

if(currLoadIndex == 0) 
{ 
    currViewModel = ko.mapping.fromJS(data, mappingOptions); 
} 
else{ 
    ko.mapping.fromJS(data, mappingOptions, currViewModel); 
} 

그러나 이것은 단지 내가에 바인딩 때로드 한 데이터의 마지막 섹션으로 나를 잎 내 템플릿. 내 'mappingOptions'에서 키 설정을 시도했지만 도움이되지 않았습니다. 아무도 내가 뭘 잘못하고있는 명백한 것을 볼 수 있니? 어떤 도움이라도 대단히 감사 할 것입니다.

+0

는보다 완전한 뷰 모델의 jsfiddle을 게시 아마 당신의 웹 서비스에 의해 반환 된 JSON 데이터의 샘플을 포함 할 수 있습니다를? 일반적으로 각 데이터 세트는 데이터 사용 방법에 따라 observableArray 또는 완전히 별도의 뷰 모델로 표시됩니다. – 79IT

답변

0
아마

하지 거기에 최고의 솔루션 그러나 이것은 내 문제 해결 :

if(currLoadIndex == 0) 
{ 
    currViewModel = ko.mapping.fromJS(data, mappingOptions); 
} 
else{ 
    var tmpModel = ko.mapping.fromJS(data, mappingOptions); 
    for(i = 0; i < tmpModel.GetProductListResult().length; i++) 
    { 
     currViewModel.GetProductListResult().push(tmpModel.GetProductListResult()[i]); 
    } 
} 
관련 문제