Вы бы использовали привязку шаблона как:
<div data-bind="template: 'someTemplate'"></div>
или
<div data-bind="template: { name: 'someTemplate', foreach: myItems }"></div>
или
<div data-bind="template: { name: 'someTemplate', data: SomeDataFromServer }"></div>
Это работает как с собственными шаблонами, так и с шаблонами jQuery. Если вы используете только шаблоны jQuery, убедитесь, что вы не ссылаетесь на плагин jQuery Templates.
Если ваши данные являются наблюдаемыми, то изначально они могут быть нулевыми и ничего не будет отображаться. Затем, когда вы заполняете его из вызова AJAX, он будет обновляться вашими данными.
Другой вариант - использовать ko.applyBindingsToNode
, который будет выглядеть так:
var data = [ { name: "one" }, { name: "two" } ];
ko.applyBindingsToNode(document.getElementById("test"), { template: { name: 'someTemplate', foreach: data } });