मैं knockout.js के साथ नया हूं और मुझे नहीं पता कि मेरी ऑब्जेक्ट के साथ एकाधिक मैपिंग कैसे करें। कि सर्वर से अपने डेटा है:knockout.js नेस्टेड ऑब्जेक्ट्स में एकाधिक मैपिंग
var persons = {
'value': [
{
"id": "1",
"civility": "Mr.",
"firstname": "john",
"lastname": "doe",
"phone": "00 00 00 00 00",
"email": "[email protected]",
"contract": [
{
"id": "1",
"gamme": "Gamme 1",
"formula": "Formula 1"
},
{
"id": "2",
"gamme": "Gamme 2",
"formula": "Formula 2"
}
]
}
]
}
मैं पूरी वस्तु पर एक पहले मानचित्रण कुछ datas करते हैं और ko.computed:
var person_mapping = {
'value': {
create: function (options) {
if (options.data != null) {
return new myPersonModel(options.data);
}
}
}
}
var myPersonModel = function (data) {
ko.mapping.fromJS(data, {}, this);
this.fullName = ko.computed(function() {
return this.civility() + ' ' + this.lastname() + ' ' + this.firstname();
}, this);
}
इस क्रियान्वित करने के बाद, मैं क्या मैं पहली बार के लिए चाहते भाग:
self.dataModel = ko.mapping.fromJS(persons, person_mapping);
लेकिन अब, मैं अनुबंध सरणी के साथ एक ही बात करने के लिए अंदर व्यक्तियों वस्तु चाहते हैं, कि एक मानचित्रण लागू करते हैं और कुछ की तरह ko.computed कर कहने के लिए है यह:
var contract_mapping = {
'contract': {
create: function (options) {
if (options.data != null) {
return new myContractModel(options.data);
}
}
}
}
var myContractModel = function (data) {
ko.mapping.fromJS(data, {}, this);
this.contractName = ko.computed(function() {
return this.gamme() + ' ' + this.formula();
}, this);
}
लेकिन मुझे नहीं पता कि मेरी दूसरी मैपिंग कैसे लागू करें, कुछ भी काम नहीं करता है।
धन्यवाद, यह बहुत आसान है मुझे इस बारे में नहीं सोचा था कि था। मैं पहली बार मैपिंग करने की कोशिश कर रहा था, जबकि मुझे इसे पहले में करना था। –