我在这里创建了一个问题示例:
http://jsfiddle.net/JustinN/qWeLT/1/
我的实际代码与 ASP.NET Web 方法相关联,因此示例代码已被调整为指向公共 Web 服务以进行演示。
基本上,我有一个绑定到的数组,但是在 ajax 调用之后,该表不显示更新的信息。我不确定我错过了什么,起初我认为我需要映射插件,所以我已经尝试过了,但仍然没有得到任何结果。
当然我不是每次我的数据更改时都应用绑定吗?
[编辑]
下面的 JavaScript:
var ViewModel = function () {
var self = this;
self.items = ko.observableArray([]);
self.refresh = function () {
$.ajax({
type: "POST",
url: "http://api.wipmania.com/json",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
ko.mapping.fromJS(data.d, self.items.address);
}
});
};
}
var viewModel = new ViewModel();
$(function () {
ko.applyBindings(viewModel);
viewModel.refresh();
});
下面的 HTML:
<table data-bind="visible:items.length > 0">
<thead>
<tr>
<th>Country</th>
<th>Code</th>
</tr>
</thead>
<tbody data-bind="foreach: items">
<tr>
<td data-bind="text:country"></td>
<td data-bind="text:country_code"></td>
</tr>
</tbody>
</table>