我已经设置了这个基本的淘汰赛脚本(仍然在学习)
$.getJSON(clientUrl + "/list/" + 1, function (data) {
var viewModel = {
clients: ko.observableArray(data)
};
ko.applyBindings(viewModel);
});
第一个参数'lucidServer.getClients(1)'调用此ajax请求:
var getClients = function (id) {
return $.ajax(clientUrl + "/list/" + id)
};
现在我恢复了json,但它似乎没有正确绑定模板。这是json:
0: {iD:1, userId:1, name:CompanySoft, LLC.,…}
1: {iD:2, userId:1, name:Widget Factory,…}
2: {iD:3, userId:1, name:Jim's Consulting,…}
模板在这里:
<div id="clientListOutput">
<ul "template: { foreach: clients }">
<li><span data-bind"text: name"></span></li>
</ul>
</div>
答案 0 :(得分:1)
你的标记中有很多拼写错误。
HTML应如下所示:
<div id="clientListOutput">
<ul data-bind="foreach: clients">
<li><span data-bind="text: name"></span></li>
</ul>
</div>
由于您的ul
代码中包含标记,因此无需使用template
绑定。只需使用foreach
,Knockout将完成迭代每个客户端的工作,并为每个客户端呈现li
。
这是一个工作小提琴:http://jsfiddle.net/jearles/6XhM4/