データを取得するこの get/call メソッドがあり、OnSuccess に基づいて、さらにデータを取得するために別の get/call を行います。両方の get メソッドから返されたデータを表示したいと思います。
var getInfo = function () {
Ajax.Get({
Url: //URL,
DataToSubmit: { id: properties.Id },
DataType: "json",
OnSuccess: function (data, status, jqXHR) {
viewModel.PositionTypes = data; //ex return: Teacher, TA, Students
Ajax.Get({
Url: //URL,
DataToSubmit: { pageNumber: 1, id: properties.Id },
DataType: "json",
OnSuccess: function (data, status, jqXHR) {
viewModel.Users = data; //ex return: Matt, Steve, Maggie, Sandy
//Combine both results based on the Content Role
//Some type of loop between the positionTypes and users where the content role will be equal
}
});
}
});
};
モデルを見る
// the ViewModel for a single User
var userViewModel = function (data) {
var _self = this;
_self.ID = ko.observable(data.ID);
_self.Name = ko.observable(data.Name);
_self.Email = ko.observable(data.Email);
_self.ContentRole = ko.observable(data.ContentRole);
};
// the ViewModel for a single Position
var positionsViewModel = function (data) {
var _self = this;
_self.ContentRole = ko.observable(data.ContentRole);
_self.PositionName = ko.observable(data.PositionName);
_self.PositionRank = ko.observable(data.PositionRank);
_self.UserCount = ko.observable(data.UserCount);
}
全体的な結果は次のようになります。
教師: マット
TA: スティーブ
生徒: マギー、サンディ