녹아웃 매핑 플러그인을 사용하여 관찰 가능 어레이의 항목에 계산 된 속성을 추가하고 있습니다. 그러나이 계산 된 속성은 내 viewmodel의 다른 속성에 의존합니다.녹아웃 매핑 플러그인에서 viewmodel에 액세스
매핑하는 동안 관찰 가능을 만들 때 viewmodel 속성에 액세스하려면 어떻게해야합니까?
viewModel에서 속성이 더 올라 가기 때문에 options.parent를 사용할 수 없습니다.
서버 측에서 생성 되었기 때문에 viewmodel도 변경할 수 없습니다.
편집 :
다음은 문제를 보여주는 JSFiddle입니다. 주석 처리 된 줄은 내가 일하기 위해 필요한 것입니다.
이 내가 지금 무엇을, 그러나 분명히 오류를 던지고있다 :
var mapping = {
'Collection': {
create: function(options) {
var model = ko.mapping.fromJS(options.data);
model.Total = ko.computed(function() {
var result = this.Price() * viewModel.Count(); // :(
return result;
}, model);
return model;
}
}
};
var json = { ... large json object ... };
var viewModel = ko.mapping.fromJS(json, mapping);
적어도 json 구조의 관련 부분을 게시하십시오. 우리는 최소한 Collection의 위치와 Price와 Count 속성이 필요하며 어디에서 'Total' proeprty를 갖고 싶습니까? – nemesv
질문은 특정 json 구조가 아니기 때문에 json이 적절하다고 생각하지 않았습니다. 하지만 문제를 보여주는 JSFiddle 작업을 추가했습니다. – SaphuA