mvc4의 모델에서 녹아웃으로 뷰 모델을 생성합니다. 맵핑 플러그인을 사용하고 있습니다. 현재 코드는 다음과 같습니다.매핑 된 속성이있는 빈 배열을 만들기 위해 ko.mapping을 강제 실행합니다.
첫 번째 : 나는 하나의 코 뷰 모델에 필요한 다른 MVC4 모델을 병합합니다. 둘째
var mergedData = $.extend(true, {}, initialEventData,
{ "Tickets": initialTicketData }, { "TimeZones": timeZones }
);
: 나는 나의 뷰 모델에 계산 기능을 추가하는 일부 매핑을 추가합니다.
var mapping = {
'Tickets': {
create: function (options) {
return new updatedTicket(options.data);
}
}
}
var updatedTicket = function (data) {
ko.mapping.fromJS(data, {}, this);
this.formattedPrice = ko.computed(function() {
return "$" + parseFloat(this.Price()).toFixed(2);
}, this);
}
는 Finlly : 나는 바인딩을 적용합니다.
var eventViewModel = ko.mapping.fromJS(mergedData, mapping);
그러나 :는 때때로 티켓 모델은 빈 돌아올 수 있습니다. 이 경우, 매핑 플러그인은 관찰 가능한 배열을 생성하지 않습니다 (분명히). 새로운 티켓을 푸시 할 수 있도록 매핑 된 속성이있는 빈 배열이 필요합니다.
아마도 예제를 제공할까요? – digitzfone