我正在学习如何使用 knockout.js 并遇到了一些误解。
用户界面:
<ul>
<li>
<p>
Caption:<span data-bind="text: object1.Caption" />
</p>
</li>
<li>
<p>
Manufacturer: <span data-bind="text: object1.Manufacturer" />
</p>
</li>
</ul>
JS:
var viewModel = {
object1: ko.observable()
}
$(document).ready(function () {
ko.applyBindings(viewModel);
}
);
function getData ()
{
var response = $.ajax({
type: "GET",
datatype: "json",
url:// my URL,
success: function (data) {
var result = jQuery.parseJSON(data);
viewModel = ko.mapping.fromJS(result);
**//ko.applyBindings(viewModel);**
}
});
}
JSON数据:
{"object1":{
"Caption": "Some caption",
"Manufacturer": "Some manufacturer"
}
}
似乎我遵循了教程,但如果我尝试在开始时只调用一次 applyBindings(viewModel) - 它不起作用。但如果我每次在 getData() 函数中调用它,它就会起作用。
怎么了?如何在 start 上仅使用一次applyBindings调用使其工作?
谢谢你的帮助。