Gdy opcja "utwórz" jest używana w mapowaniu z nokautem, uczyniłaby tablicę tablicą obserwowalną. Ale jak możemy uczynić właściwości każdego obiektu w tablicy obserwowalnej możliwym do zaobserwowania?Jak uzyskać właściwości obiektu w tablicy obserwowalnej nokautu?
W tym przykładzie z dokumentacji nokautu tablica podrzędna jest tablicą obserwowalną, ale chcę, aby wszystkie elementy, takie jak id, nazwa w literaturze każdego obiektu były również obserwowalne. Jak to osiągniemy. Po prostu umieść ko.observable
na każdym nowym obiekcie w bloku tworzenia?
var data = {
name: 'Graham',
children: [
{ id : 1, name : 'Lisa' }
]
};
// Your custom data model
var myChildModel = function (data) {
this.id = data.id;
this.name = data.name;
};
var mapping = {
'children': {
create: function(options) {
return new myChildModel(options.data);
}
}
};
var viewModel = ko.mapping.fromJS(data, mapping);