0

我已经设置了这个基本的淘汰赛脚本(仍在学习)

$.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>
4

1 回答 1

1

您的标记中有很多错别字。

HTML 应如下所示:

  <div id="clientListOutput">
            <ul data-bind="foreach: clients">
                <li><span data-bind="text: name"></span></li>
            </ul>
  </div>

由于您的ul标签中有标记,因此您不需要使用template绑定。只需使用 a foreach,Knockout 将完成迭代每个客户端并li为每个客户端渲染的工作。

这是一个工作小提琴:http: //jsfiddle.net/jearles/6XhM4/

于 2012-10-27T16:21:29.757 回答