Фреймворки Javascript или библиотека knockoutjs с вложенными шаблонами - PullRequest
2 голосов
/ 20 апреля 2011

Могу ли я использовать вложенные шаблоны с более чем одной иерархией, например, в библиотеке kockoutjs? http://knockoutjs.com/ или любой другой фреймворк Javascript?

У меня есть этот вид:

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

Как бы это ни было в HTML. Возможно ли с помощью knockoutjs или любой другой платформы javascript создавать вложенные шаблоны с несколькими иерархиями?

1 Ответ

0 голосов

Да, это возможно в Knockout.

Вы можете указать имя шаблона внутри корневого элемента:

<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 для отображения подробностей.

С точки зрения производительности это очень быстро и незаметно для пользователя.

Я использую нокауттаким образом шаблоны в моем текущем проекте и рекурсивные шаблоны позволяют мне сохранять части моей разметки в небольших разделах.

Это то, что вы искали?

...