0
我有一個服務器的數據,如下。添加額外的對象屬性來敲除映射
var data = [{
'Name': 'David',
'Class': '2A'
}, {
'Name': 'Vincent',
'Class': '2B'
}]
假設我檢索數據,並使用ko.mapping.fromJS映射。但是,我想在映射後使數據由另一個屬性名稱Grade組成。這怎麼能實現?這是因爲屬性等級的值通過另一個Ajax調用來檢索,並且應該事先定義。
function MyViewModel() {
var self = this;
self.StudentProfile = ko.observableArray([]);
self.GetStudentProfile = function() {
$.ajax({
..
..
success: function(data) {
ko.mapping.fromJS(data.StudentProfile, {}, self.StudentProfile);
// data after mapping
$.each(self.StudentProfile, function (index, value) {
$.ajax({
..
..
success: function(data) {
self.StudentProfile()[index].Grade(data);
}
});
}
}
})
}
}
// data after mapping
var data = [{
'Name': 'David',
'Class': '2A',
'Grade': ''
}, {
'Name': 'Vincent',
'Class': '2B',
'Grade': ''
}]
你試過self.StudentProfile()[指數] .Grade = ko.observable(數據);而不是self.StudentProfile()[index] .Grade(data); ? –