당신은 문제
var viewModel = new DataModel();
주요 문제는 당신이었다 범위 지정 피하기 위해 모델 객체를 선언 VAR를 사용한다
Datamodel에서이 변수를 통해 노출함으로써 Datamodel에 추가해야합니다.
var DataModel = function (client) {
var self = this;
self.level1Choices = ko.observableArray();
};
이 작업을 수행하는 방법으로 힐로 세계의 예를 살펴 보자 : 그것은이 참조에 대해 걱정하지에 가장 좋은 방법이기로
http://knockoutjs.com/examples/helloWorld.html
나는 스스로에이 범위했습니다 여기에 언급 된 다른 내용 : http://knockoutjs.com/documentation/computedObservables.html.
DataModel 내에서 loadAllApprovers 메소드를 이동 했으므로 DataModel이 속한 곳이며 데이터 모델을 채울 수있는 권한이 있습니다. 모바일 서비스 클라이언트를 생성자에 추가하여 모델 테스트를 위해 조롱 될 수 있도록했습니다.
var DataModel = function (client) {
var self = this;
self.level1Choices = ko.observableArray();
var loadAllApprovers = function() {
var allAppprovers = client.getTable('TABLE');
var query = allAppprovers.select("ID", "FirstName").read().done(function (approverResults) {
self.level1Choices(approverResults);
}, function (err) {
console.log("Error: " + err);
});
};
loadAllApprovers();
};
당신은 또한 jsfiddle에서 녹아웃을 놓쳤습니다.
http://jsfiddle.net/az4rox0q/6/
바인딩, 나는 몇 가지 잠재적 인 문제를 볼 수 있지만 그들은 당신이 제공 한 코드가 유효한지 확인하실 수 있습니다 구현하는 코드를 추가하십시오. JSFiddle을 사용하여 문제를 재현하는 것이 더 쉽습니다. – QBM5
디버그가 훨씬 쉬워졌습니다.이 모든 것이 내 첫 시도입니다. Azure 모바일 서비스, 녹아웃, JS 피들, 등등. 그래서 잘하면 나는 그것을 올바르게했다. http://jsfiddle.net/az4rox0q/1/ – satishnair
여기에 모델과 jsfiddle를 포함하도록 질문을 업데이트해야합니다. –