这样绑定时:
<div data-bind='template: { name: "personTemplate",
foreach: someObservableArrayOfPeople }'>
</div>
是否可以指定某种分隔符模板,类似于Classic ASP.NET中的分隔符模板?
答案 0 :(得分:3)
目前没有办法指定分隔符模板。
但是,我认为有几个选择:
答案 1 :(得分:1)
如果您的需求更具表现力,那么行为(即仅限风格分隔符),并且您不需要支持古老的浏览器,您应该考虑CSS是否可以解决问题。
想象一下KO生成的DOM如下所示:
<div data-bind="template: bla bla">
<div class="tmpl">template instance 1</div>
<div class="tmpl">template instance 2</div>
<div class="tmpl">template instance 3</div>
<div class="tmpl">template instance 4</div>
</div>
您可以使用::after
伪类插入“分隔符”,然后将其关闭以显示最后一个元素。
.tmpl::after {
content:'';
display:block;
background-color: silver;
height: 2px;
margin:5px 0;
}
.tmpl:last-child::after {
display: none;
}
根据你的使用情况,你可以在CSS中使用生成的块做很多事情,而且总是在你可以剪切一些JS并放入CSS的好日子;)
Exxple fiddle http://jsfiddle.net/RTD7q/