5

我正在尝试在 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" },
    ]
});​
4

1 回答 1

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/

于 2012-12-19T16:30:17.800 回答