2

我可以在例如 kockoutjs 库中使用多个层次结构进行嵌套模板化吗?http://knockoutjs.com/或任何其他 Javascript 框架?

我有这个观点:

DataGrid:
Cell1, Cell2, Cell3, Within Cell4 is a ListBox.

无论它在 html 中看起来如何。是否可以使用 knockoutjs 或任何其他 javascript 框架来创建具有多个层次结构的嵌套模板?

4

1 回答 1

0

是的,在淘汰赛中是可能的。

您可以在根元素内指定模板名称:

<ul data-bind="template: {name: listItemTmpl, foreach: items()}"></ul>

然后在该模板中,您还可以通过data-bind属性引用其他模板:

<script id="listItemTmpl" type="text/x-jquery-tmpl">
    <li>
        <h3 data-bind="text: name"></h3>
        <div data-bind="template: itemDetailsTmpl"></div>
    </li>
</script>

Knockout 将应用根模板绑定,并且当它遇到data-bind该模板内的属性时,它会递归地应用这些属性。

我的示例将适用listItemTmpl于每一个items(),然后适用于将用于itemDetailsTmpl显示详细信息的每一个。

就性能而言,它非常快速且对用户来说并不明显。

我在当前项目中以这种方式使用剔除模板,递归模板让我可以将部分标记保持在小部分中。

这是你要找的东西吗?

于 2011-06-30T10:17:33.220 回答