私は、KnockoutJS の POC を行う任務を負っており、私には理解できない問題に直面しています。
Ajax を使用してサービスからデータを取得し、フォームに ko.mapping.fromJS() を入力したいと考えています。ajax 呼び出しの成功関数内からマッピングを呼び出すと、フォームにデータが取り込まれません。成功の外に移動すると、正常に動作します。
更新:ロード関数がjsfiddleで呼び出されることは知っています(そこにアラートを入れると発火します)が、フォームにデータが入力されません..
var planDesignData = {
RecordID: '1124',
Name: "Main"
};
var PlanDesignModel = function () {
var self = this;
//*** As soon as I move this line inside the sucess the input doesn't get populated
self.planDesign = ko.mapping.fromJS(planDesignData);
self.load = function () {
$.ajax({
type: "POST",
url: "/echo/json/",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var loadedPD = {};
//I want to run the mapping here
}
});
}
}
$(document).ready(function () {
var viewModel = new PlanDesignModel();
viewModel.load();
ko.applyBindings(viewModel);
});
どんな助けでも大歓迎です。