我正在使用 Knockout-Kendo.js 将 Kendo 小部件绑定到 Knockout observables。我有一个 KendoListView,它根据名为“Filters”的可观察对象从 html 模板中填充自身。我遇到的问题是我在模板中使用的输入控件没有转换为 Kendo 小部件,即使我将其指定为 kendoComboBox。(为简单起见,我省略了 dataSource 等的属性)
其他需要注意的事项。
在页面加载时,模型中的 Filters 可观察属性中没有对象。
ko.ApplyBindings(Model) 在 Document ready 函数中调用。
用户在页面上进行各种选择,然后填充
模型中的可观察过滤器。添加过滤器时,控件确实显示在 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>