서버에서 json을 가져 왔습니다. 배열 (Schedule
)과 같은 것을 포함하지만, 각 Schedule
요소는 두 개의 다른 객체로 구성됩니다.녹아웃 매핑 : 두 개체를 하나로 결합
각 Schedule
요소는 다음과 같이이다 :
{"Schedule":[
{"InputItem": {"Id" : "1231", "Name": "TempName"},
"OutputItem": {"CalcId" : "a1231", "CalcName": "CakcTempName"}
},
...
]};
그래서, 녹아웃에 나는 위에서 설명한대로 jsonData을 받아보기 모델 데 : 내가 자기를 얻고 그 결과
var viewModel = function(jsonData) {
var self = this;
var customMapping = {
//'Schedule': {
//
// }
};
ko.mapping.fromJS(jsonData, customMapping, self);
};
을 . InputItem
및 CalculatedItem
을 포함하는 일정 배열 그러나 InputItem
과 CalculatedItem
을 하나의 객체 (예 : ScheduleItem
)로 결합하여 매핑 한 후에 InputItem
및 CalculatedItem
이 없지만 하나만 ScheduleItem
이 될 수 있도록 사용자 정의 매핑을 만들어야합니다.
가능합니까?
P. 이유는 그리드 내에 Schedule 배열을 표시하는 것이 훨씬 쉬워지기 때문입니다. 그리드의 절반은 InputItems이지만 그리드의 절반은 CalculatedItems입니다. UI에서는 해당 항목의 분리가 필요하지 않습니다. 나는 또한 서버 측 모델을 변경하면서이 문제를 해결할 수 있지만 여기서는 KO 부분에 대해 묻습니다.