我有一个 Web API,它成功地返回了 JSON 格式的博客文章数组:
[{"ID":1,"Title":"First Blog Post","Body":"Some Content"},{"ID":2,"Title":"Second BlogPost","Body":"Some other content"}]
出于练习目的,我想使用 Knockout.js 在列表中显示所有帖子。
这是我的代码:
<script>
$(document).ready(function () {
function AppViewModel() {
var self = this;
self.posts = ko.observableArray([
{ Title: 'Default Title', Body: 'Default Body' },
]);
$.getJSON('api/posts', function (data) {
ko.mapping.fromJSON(data, {}, self.posts);
});
}
ko.applyBindings(new AppViewModel());
});
我的绑定:
<tbody data-bind="foreach: posts">
<tr>
<td data-bind="text: Title"></td>
<td data-bind="text: Body"></td>
</tr>
</tbody>
我的表显示为空,由于某种原因它没有显示 JSON 数据......
回答:我必须将 fromJSON 更改为 fromJS 并且它有效!非常感谢大家的帮助