Es scheint, dass Knockout die Eigenschaften von Objekten in einem Array nicht korrekt abbildet.Knockout ordnet die Eigenschaften eines Objekts in einem Array nicht zu
Sehen Sie dieses Beispiel aus der Chromkonsole:
> 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
So ist die Javascript-Objekt erstellt wird, aber die Eigenschaft ‚Name‘ nicht zugeordnet bekommt.
Alle Ideen sind sehr willkommen!
Danke für die schnelle Antwort. Gibt es eine Möglichkeit, das Verhalten zu ändern, um jede Eigenschaft zuzuordnen? Die Dokumentation scheint dies nicht zu erwähnen. –
@RichardAstbury Ich glaube nicht. Sie müssen dies in einer angepassten Version des Mapping-Plugins fest codieren. – Niko
Ich habe seitdem ko.toJSON (viewModel) gefunden, die den Job zu erledigen scheint. –