克隆 kendo DataSource 删除 CRUD?

Cloning kendo DataSource removes CRUD?

我正在尝试将 Kendo DataSource 克隆到新的 DataSource 中,但它似乎丢失了在旧 DataSource 上设置的任何选项。虽然我可能 cloning/copying 的方式不对,但欢迎提出任何建议。

这是我目前的克隆方式:

var questionItemGridDataSource = new kendo.data.DataSource(viewModel.baSurveyQuestionItemTemplateDataSource);
questionItemGridDataSource.query({
    filter: {
        logic: "or",
        filters: [
            {
                field: "BaSurveyQuestionTemplateId",
                operator: "eq",
                value: questionId
            },
            {
                field: "Name",
                operator: "eq",
                value: ""
            }
        ]
    }
});

它复制它并设置过滤器就好了,但如果我这样做

alert(questionItemGridDataSource.options.transport.read.url)

它只是提醒 undefined

编辑:

我知道我可以通过输入

来设置它 "manually"
questionItemGridDataSource.options.transport = viewModel.baSurveyQuestionItemTemplateDataSource.options.transport;

之后,但这似乎没有必要,而且肯定有一种方法可以克隆数据源而无需重置 CRUD。

您似乎传递的是 DataSource 实例而不是设置对象。尝试

var questionItemGridDataSource = new kendo.data.DataSource(viewModel.baSurveyQuestionItemTemplateDataSource.options);