그 바이올린의 코드가 적어도 나를 위해 작동하지 않습니다.
function PageModel() { /* ... */ }
$(document).ready(function() {
var model = new PageModel();
// Don't replace some observable, but extend the view model automatically,
// creating an observable for each property in "data".
ko.mapping.fromJS(data, userReportMapping, model);
ko.applyBindings(model);
});
http://jsfiddle.net/Quu4f/27/
업데이트 :하지만 그러나, 여기 당신이 일반적으로 기존 뷰 모델 인스턴스와 매핑 플러그인을 사용하는 방법입니다 또한 필요/지정해야하는 키에 데이터 개체에 매핑 옵션을 적용해야합니다.
var userReportMapping = {
'UserReports': {
key: function(data) {
return ko.utils.unwrapObservable(data.Id);
},
create: function(options) {
return new userReportModel(options.data);
}
}
};
그러나 이상한 점은 다음과 같은 경우에 오류가 발생한다는 것입니다. 데이터 세트에 동일한 ID를 가진 두 개의 항목이 있습니다. "create"콜백이 복제본에 대해 실행되지 않은 것처럼 보이지만 정상적인 관찰 가능 항목은 계속 만들어집니다. 그것은 필요에 따라 작동하지 않습니다 - -
http://jsfiddle.net/Quu4f/29/
그림과 같이 매핑 차이가 없습니다 일을 얻는다 코드를 사용하기위한 위 내 "대답을"볼 수 있지만 (IMO) – BonyT
이상적인 죄송 아니다 - 물론 명확하게해야합니다 - 물론 코드를 게시했습니다 - 제가 고민하고있는 문제는 매핑을 사용자 정의하여 배열을 처리하는 방법입니다. – BonyT
@ BonyT 알았어, 바로 그걸 얻지 못했다. 또 다른 비트를 발견하고 내 답변을 업데이트했습니다. 그러나 지금 그것이 당신이 찾고있는 것이라면 여전히 확실하지 않습니다. – Niko