我有这个代码可行,但我不确定它是否是完成我想做的正确方法。
我们说我有一个类别ID的下拉列表,每当用户选择一个类别时,该网站就会提取该类别的相应产品。我面临的问题是,我觉得我不应该为结果需要一个单独的视图模型(resultsViewModel)。有没有办法将ajax调用的结果包含到原始视图模型(viewModel)中?
JS
var viewModel = kendo.observable({
title: "Products",
Categories: null,
GetProducts: function (e) {
var categoryID = $('#drpCategory').val();
var data = { CategoryID: categoryID };
$.ajax('/Product/GetProductByCategoryID', {
dataType: 'JSON',
type: 'POST',
data: data,
success: function (data) {
// Should this go to current ViewModel?
var resultsViewModel = kendo.observable({
Result: data
});
}
})
}
})
答案 0 :(得分:1)
我只是在viewModel for Products上创建一个附加属性,并调用viewModel.set(“Products”,data);在你的成功功能中。
var viewModel = kendo.observable({
title: "Products",
Categories: null,
Products: [],
GetProducts: function (e) {
var categoryID = $('#drpCategory').val();
var data = { CategoryID: categoryID };
$.ajax('/Product/GetProductByCategoryID', {
dataType: 'JSON',
type: 'POST',
data: data,
success: function (data) {
viewModel.set("Products", data);
}
})
}
})
然后将您的产品绑定到该阵列。或者你可以使它成为一个dataSource并设置它的数据属性。