こんにちは、私は Knockout の学習に多くの時間を費やしており、アプリケーションで多くのプロパティを使用する必要があり、マッピング プラグインを使用する必要があるところまで来ました。
使用方法は簡単に思えますが、機能しないため何かが欠けていると思いました.テスト例を作成しました.これは私のコードです:
function vm() {
var self = this;
this.viewModel = {};
this.getData = function() {
$.getJSON('/api/Values/Get').then(data)
.fail(error);
function data(ajaxData) {
console.log(ajaxData);
self.viewModel = ko.mapping.fromJS(ajaxData);
console.log(self.viewModel);
}
function error(jError) {
console.log(jError);
}
};
};
ko.applyBindings(new vm());
これは私のhtmlです:
<ul data-bind="foreach: viewModel">
<li data-bind="text:FirstName"></li>
<input type="text" data-bind="value: FirstName"/>
</ul>
<button data-bind="click : getData">Press me!</button>
私の ajax 呼び出しは、サーバーからこのデータを正常に取得します。
[
{
FirstName: "Madalina",
LastName: "Ciobotaru",
hobies: [
"games",
"programming",
"hoby"
]
},
{
FirstName: "Alexandru",
LastName: "Nistor",
hobies: [
"games",
"programming",
"movies"
]
}
]
データ関数が呼び出された後、viewModel get は配列に変換されますが、項目が含まれていないようです。
私は何を間違っていますか?