Parece que noquear es no mapear correctamente las propiedades de los objetos en una matriz.Knockout no mapea las propiedades de un objeto en una matriz
ver este ejemplo de la consola de cromo:
> 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
Así se crea el objeto de javascript, pero la propiedad 'nombre' no quede asignada.
¡Todas las ideas son bienvenidas!
Gracias por la respuesta rápida. ¿Hay alguna manera de modificar el comportamiento para mapear cada propiedad? La documentación no parece mencionar esto. –
@RichardAstbury No lo creo. Necesitará codificarlo en una versión personalizada del plugin de mapeo. – Niko
Desde entonces he encontrado ko.toJSON (viewModel) que parece hacer el trabajo. –