在foreach里面的KnockoutJS模板

时间:2012-12-19 16:25:13

标签: templates knockout.js

我正在尝试在foreach中使用knockoutjs模板,并且无法弄清楚数据成员需要什么:

JSFiddle

HTML

<script type="text/html" id="userPicture-template">
    <p data-bind="text: testText"></p>
</script>

<div >
    <ul data-bind="foreach: voters">
        <li data-bind="template: { name: userPicture-template, data: $data }">
        </li>
    </ul>
</div>
<div data-bind="foreach: voters" >
    <div>
        <div data-bind="template: { name: userPicture-template, data: $data }">
        </div>
    </div>
</div>

的Javascript

ko.applyBindings({
    voters: [
        { testText: "hello" },   
        { testText: "world" },
    ]
});​

1 个答案:

答案 0 :(得分:9)

您没有用引号包装模板名称:

<div >
    <ul data-bind="foreach: voters">
        <li data-bind="template: { name: 'userPicture-template', data: $data }">
        </li>
    </ul>
</div>
<div data-bind="foreach: voters" >
    <div data-bind="css: questionClasses">
        <div data-bind="template: { name: 'userPicture-template', data: $data }">
        </div>
    </div>
</div>

此外,您的视图模型中没有questionClasses字段。

这是工作小提琴:http://jsfiddle.net/ywqct/2/