我正在尝试在foreach中使用knockoutjs模板,并且无法弄清楚数据成员需要什么:
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" },
]
});
答案 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/