【发布时间】:2018-01-07 22:39:47
【问题描述】:
我完成了使用 foreach 将数据绑定到模板的淘汰教程,我得到了它的工作。我可以对控制器进行成功的 ajax 调用,并且我看到数据与硬编码数据相同。但我在屏幕上什么都没有。 javascript 控制台中没有错误。
我的假设是我需要稍微改变一下语法。我已经用谷歌搜索了几个小时,但找不到一个很好的例子。有没有人有一个使用 ajax 调用来填充剔除模板的好例子?
这是我的js代码:
function RecordViewModel(url) {
var self = this;
self.cards = ko.observableArray();
self.loadData = function () {
$.get(url.load, function (data) {
self.cards = data;
});
}
}
var vm = new RecordViewModel({
load: '/records/getcards'
});
$(function () {
vm.loadData();
ko.applyBindings(vm);
});
html:
<script type="text/html" id="record-template">
<table>
<tr>
<td><span data-bind="text:artist" /></td>
</tr>
<tr>
<td><span data-bind="text:description" /></td>
</tr>
<tr>
<td rowspan="3"><span data-bind="text:price"></span></td>
</tr>
</table>
</script>
<div data-bind="template: {name: 'record-template', foreach: cards() }"></div>
【问题讨论】:
标签: jquery ajax templates knockout.js