【发布时间】:2025-12-21 03:05:12
【问题描述】:
我阅读了文档,但没有发现与在 dataSource url 中设置参数相关的内容。有可能实现吗?
提前致谢。
【问题讨论】:
标签: rest kendo-ui kendo-datasource kendo-mvvm
我阅读了文档,但没有发现与在 dataSource url 中设置参数相关的内容。有可能实现吗?
提前致谢。
【问题讨论】:
标签: rest kendo-ui kendo-datasource kendo-mvvm
是的,这是可能的。 DataSource.transport 中定义的 urls 可能是一个函数。此函数接收(对于update)作为第一个参数,正在更新的数据(模型)并返回应该用作 URL 的字符串。
为您想要做的事情编写 URL:
var ds = new kendo.data.DataSource({
transport: {
read: {
url: function () {
return 'read';
}
},
update: {
url : function (item) {
return 'update/' + item.id;
}
}
}
});
【讨论】:
batch=false 在您的数据源中(默认情况下)。当您启用批处理操作时,item 参数将是模型的集合 - 不会映射到单个 RESTful 服务。
id: "id" 添加到您的模型中。
简答:
没有。
长答案:
参数与传输对象的url 参数内联传递...
var id = 'abc123';
var ds = new kendo.data.DataSource({
transport: {
read: {
url: 'api/employees?id=' + id
}
}
});
...或者它们在传输对象的data 参数中传递。
var id = 'abc123';
var ds = new kendo.data.DataSource({
transport: {
read: {
url: 'api/employees',
data: {
id: id;
}
}
}
});
或
var id = 'abc123';
var ds = new kendo.data.DataSource({
transport: {
read: {
url: 'api/employees',
data: function () {
return { id : id };
}
}
}
});
【讨论】: