javascript - 绑定(bind) Kendo Grid 与 Knockout : will config in javascript work with

标签 javascript knockout.js kendo-ui

我看过一些使用 knockout 绑定(bind)剑道网格的示例,其中网格配置是在 View 模型中定义的。我真的很喜欢这种风格和它允许的干净标记。但是,我似乎无法使用 usekotemplates 选项。

这是我的标记:

<div data-bind='kendoGrid: gridConfig'></div>
<script id="clientRowTemplate" type="text/html">
    <tr>
        <td data-bind="text: Name"></td>
        <td data-bind="text: State"></td>
        <td>
            <input type="hidden" data-bind="value: Id" />
            <a href="#">Edit</a>
            <a href="#">Delete</a>
        </td>
    </tr>
</script>

这是我的 View 模型

var clientListViewModel = function () {

    var self = this;
    self.clients = ko.observableArray([]);

    self.load = function () {
        for (var i = 0; i < 9; i++) {
            var c = new clientModel();
            c.Id = i;
            c.Name = 'Name' + i;
            c.State = 'NY';
            self.clients.push(c);
        };
    };

    self.gridConfig = {
        data: self.clients,
        datasource: {
            data: "data",
            schema: {
                model: {
                    fields: {
                        ID: { type: "number" },
                        Name: { type: "string" },
                        State: { type: "string" }
                    }
                }
            },
            pageSize: 10,
            serverPaging: true
        },
        height: 400,
        pageable: true,
        selectable: "row",
        usekotemplates: true,
        rowtemplate: "clientRowTemplate",
    };

};

var clientModel = function () {
    var self = this;
    self.Id = ko.observable(0);
    self.Name = ko.observable("").extend({ required: true });
    self.State = ko.observable("").extend({ required: true });
};


var vm = new clientListViewModel();
vm.load();
ko.applyBindings(vm);

这是一个 jsfiddle:http://jsfiddle.net/Steve5877/a4kG7/2/

我可以这样绑定(bind)它并仍然使用模板吗?

最佳答案

看起来您只需要注意传递的几个选项的大小写敏感性:

    useKOTemplates: true,
    rowTemplate: "clientRowTemplate",

而不是:

    usekotemplates: true,
    rowtemplate: "clientRowTemplate",

关于javascript - 绑定(bind) Kendo Grid 与 Knockout : will config in javascript work with,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24688540/

相关文章:

jquery - 将 css 运行时添加到表行和数据绑定(bind)行

javascript - 简单立方体场景中的颗粒状纹理

javascript - 将 localStorage 设置为变量 |会发生什么?

javascript - 从嵌套循环中删除 knockout 函数中的父级

javascript - 如何使用 Javascript 根据单选按钮的状态隐藏元素

javascript - 使用 JavaScript 和 MVC/Razor 将 Kendo 控件绑定(bind)到 HtmlHelper 控件

javascript - jQuery:div 彼此重叠,但这不是必需的

javascript - 在 Cypress 如何根据名称选择输入元素?

javascript - 项目帮助: underscore template

javascript - 动态分配 cssClass 且 knockout 不起作用