나는 마스터 모델로, 자신의 모델이 될 것입니다 - 그것을 각 양식을 10 개 개의 서로 다른 형태의 대형 페이지를 짓고 있어요 통해로드 모델 후 구성 바인딩에 그들 모두를 잡아 당겨Knockout.js - 아약스
첫째. : pageViewModel.js를 :: 참조
var masterPageModel = new PageViewModel();
ko.applyBindings(masterPageModel);
과 같이 selectedCoverage.js (및 기타) 참조
// section-specific models
this.selectedCoverage = new SelectedCoverage();
// continue with other sub-models...
:
this.tier_chosen = ko.observable("Individual + Family");
this.subscriber_dob = ko.observable('January 15, 1970');
this.subscriber_age = ko.observable(43);
이제 해당 모델에서 데이터를 미리 채울 필요가 있음을 알았습니다. 의도 한대로
ko.mapping.fromJS(data, {}, this);
그러나, 내 양식이 더 이상 작동합니다 같은
var self = this;
$.getJSON("./load.php",{},function(data){
self.selectedCoverage = new SelectedCoverage(data);
});
지금, selectedCoverage.js는 보지 않는다 : 그래서, 나는이 길을 시작했다. 구체적으로, "with : [model]"은 더 이상 관련 모델을 보지 않습니다. 그것은 이전과 같은
<div data-bind="with: selectedCoverage" >
페이지
더 이상이 모델을 볼 수 없습니다, 따라서 전체 섹션은 숨겨져 있습니다.$ root를 통해 참조하려고했으나 여전히 운이 없었습니다.
<div data-bind="with: $root.selectedCoverage" >
applyBindings가 아약스 획득 모델의 위치를 어떻게 알 수 있습니까?
감사합니다.
나는 그 초기 값이 관찰 만들려고 않았다 업데이트,하지만 기쁨 : 당신은 나머지 코드를 제공하지 않은, 주로 어떻게 당신이 당신의보기를 바인딩 할 때
// *** section-specific models
self.selectedCoverage = ko.observable();
$.getJSON("./load.php",{},function(data){
self.selectedCoverage = new SelectedCoverage(data);
});
음 .. 아직도 그것을하지 않았습니다. 위의 예제를 업데이트했습니다 .... – Scott
self.selectedCoverage = new SelectedCoverage (data) but self.selectedCoverage (new SelectedCoverage (data)); – Jalayn
Doh! 미안하지만, 나는 그것을 놓쳤다. 고마워, 잘 작동 해. – Scott