Kendo MVVM-数据源的简单值绑定

Kendo MVVM-数据源的简单值绑定,mvvm,kendo-ui,kendo-dataviz,kendo-mvvm,Mvvm,Kendo Ui,Kendo Dataviz,Kendo Mvvm,我想学习如何在Kendo MVVM中将页面上的输入绑定到数据源。简单地说,假设我有以下html: <div id="configDiv"> Call:<input data-bind="value: SystemCall" type="text" /><br /> <button data-bind="click: save">Save</button> </div> 其思想是,从读取url以json格式返

我想学习如何在Kendo MVVM中将页面上的输入绑定到数据源。简单地说,假设我有以下html:

<div id="configDiv">
    Call:<input data-bind="value: SystemCall" type="text" /><br />
    <button data-bind="click: save">Save</button>
</div>
其思想是,从读取url以json格式返回的SystemCall值将绑定到html中的输入字段。有点不对劲 因为这不管用。我在网上搜索了一个简单的例子,没有比这个更复杂的了,但是找不到。任何关于如何开始的帮助都将是
非常感谢。

我没有完整的工作示例可供分享,但我可以指出一些事情


Kendo数据源期望您的服务器返回一个项目数组,因此如果您的服务器返回单个对象,例如JSON:

{
    "SystemId": 1,
    "SystemCall": "one"
}
然后它将不知道如何处理它,因为它不是数组。它期望类似于:

[
    {
        "SystemId": 1,
        "SystemCall": "one"
    },
    {
        "SystemId": 2,
        "SystemCall": "two"
    }
]

MVVM绑定无法工作,因为您将其绑定到“SystemCall”,但ViewModel对象没有名为“SystemCall”的属性。这些将位于
ViewModel.dataSource


由于数据源希望包含一个数据项数组,因此它通常绑定到ListView或网格小部件以显示每个数据项。ListView中的每个行模板都可以有该系统的输入元素


在您的
型号
中,
id
字段应包含在
字段列表中,如下所示:

var Model = kendo.data.Model.define({
    id: "SystemId",
    fields: {
        SystemId: { type: "number" }, // assuming this is a number.
        SystemCall: { editable: true }
    }
});


我知道这不是一个完整的答案,但我希望这至少能让你朝着正确的方向前进……

这确实有帮助,相当多。谢谢
var Model = kendo.data.Model.define({
    id: "SystemId",
    fields: {
        SystemId: { type: "number" }, // assuming this is a number.
        SystemCall: { editable: true }
    }
});