Принудительное использование собственных шаблонов нокаута

У меня есть страница, для которой требуется jQuery.tmpl, но я хочу использовать собственные шаблоны нокаута для

data-bind="foreach: Comments"

атрибут. Так как я включил jQuery.tmpl, собственные шаблоны Knockout отключены; есть ли способ заставить родную функциональность?

Спасибо


person Jon Bates    schedule 17.03.2012    source источник


Ответы (1)


Вы не можете использовать foreach или другие привязки потока управления в шаблоне jQuery.tmpl.

Однако, если вы хотите вызвать именованный шаблон и заставить его использовать собственный механизм шаблонов, вы должны сделать что-то вроде:

<div data-bind="template: { name: 'itemsTmpl', templateEngine: new ko.nativeTemplateEngine() }">
</div>

​<script id="itemsTmpl" type="text/html">
    <ul data-bind="foreach: items">
        <li data-bind="text: $data"></li>
    </ul>
</script>

или кэшируйте копию собственного механизма шаблонов (new ko.nativeTemplateEngine()) в переменной.

person RP Niemeyer    schedule 17.03.2012
comment
Спасибо, так и будет! - person Jon Bates; 17.03.2012