Sembra che KO non stia mappando correttamente le proprietà degli oggetti in una matrice.Knockout non sta mappando le proprietà di un oggetto in una matrice
Vedi questo esempio dalla console Chrome:
> var viewmodel = ko.mapping.fromJS({list:[]});
undefined
> viewmodel.list().unshift({ name : ko.observable("Foo") });
1
> viewmodel.list()[0].name();
"Foo"
> var js = ko.mapping.toJS(viewmodel);
undefined
> js.list[0].name;
undefined
Così si crea l'oggetto JavaScript, ma il 'nome' immobile non viene mappato.
Tutte le idee sono benvenute!
Grazie per la risposta rapida. C'è un modo per modificare il comportamento per mappare ogni proprietà? La documentazione non sembra menzionare questo. –
@RichardAstbury Io non la penso così. Sarà necessario codificare il codice in una versione personalizzata del plug-in di mappatura. – Niko
Da allora ho trovato ko.toJSON (viewModel) che sembra fare il lavoro. –