Я использую Knockout-Kendo. js, чтобы связать виджеты Kendo с наблюдаемыми объектами Knockout. У меня есть KendoListView, который заполняет себя из html шаблона на основе наблюдаемой с именем «Фильтры». У меня проблема в том, что элемент управления вводом, который я использую внутри шаблона, не преобразуется в виджет Kendo, хотя я указываю его как kendoComboBox. (Я упустил свойства dataSource, et c для простоты)
Другие вещи, на которые следует обратить внимание.
При загрузке страницы нет объектов в наблюдаемом свойстве Фильтры в модели.
ko.ApplyBindings (Model) вызывается в функции готовности документа.
Пользователи делают различные выборки на странице, которая затем заполняет
Фильтр, наблюдаемый в модели.
Элементы управления отображаются в DOM при добавлении фильтров, но как собственные Html элементы управления.
var Model = {
Filters: ko.observable([]),
FilterItemTemplate: function () {
return kendo.template($("#FilterItemTemplate").html())
}
}
<div id="Filters" data-bind="kendoListView: { data: Filters, template: FilterItemTemplate()}" ></div>
<script type="text/html" id="FilterItemTemplate">
<div>
<h4>#=ControlLabel#</h4>
<input id="#=ControlID#" name="FilterControl" data-bind="kendoComboBox: {}" />
</div>
</script>