Hallo ich habe eine Anwendung, die Daten von einer Seite zu einem anderen mit vordefinierten Datenobjekte/Arrays zugewiesen wird, ist mein Problem, ich kann sehen, observableArray
einen Wert und dann es dreht sich die SelectedPeople
beobachtbar zu undefiniert.Knockout wählen Bindungen überschreiben mein vordefiniertes observable Objekt
Ich habe bis zum Datenbindungsmarkup beseitigt, als wenn ich entferne, dass mein beobachtbares Array nichts zu undefiniert setzt.
Hier ist, wie ich meine Observables/ObservableArray an die Elemente binde.
<select data-bind="options: ObservableArray.People, value: ObservableArray.SelectedPeople, optionsText: 'Name'"></select>
ObservableArray.People
= beobachtbare Array von Objekten - funktioniert einwandfrei und macht alle Drop-Down-OptionenObservableArray.SelectedPeople
= beobachtbare
Beide haben die 'Name' Objekt definiert anzupassen die optionsText
. Es funktioniert perfekt, wenn Daten von Grund auf neu ausgewählt werden, aber wenn ich versuche, vordefinierte Daten darin zu haben, wird das Observable.SelectedPeople
Objekt als undefined
gesendet, wenn es versucht zu laden.
Im Grunde hat meine Observable.SelectedPeople
ein Objekt auf dem, was den Wert dieser Auswahl vordefinieren sollte und das Objekt 100% entspricht einer der Dropdown-Optionen ObservableArray.People
. Ich brauche es nicht Observable.SelectedPeople
auf undefiniert zu setzen und das Auswahlfeld aufzufüllen.
Kann jemand sehen, warum das passiert.
Dank
Sie sollten den Wert überprüfen, die auf dem 'beobachtbare zugeordnet ist. SelectedPeople, nachdem Sie einen Wert aus dem Dropdown ausgewählt haben. Dieser Wert sollte eine "Eigenschaft" sein, die in den Objekten definiert ist, die an das Dropdown-Menü gebunden sind. Sie sollten den Wert dieser Eigenschaft auf "Observable.SelectedPeople" schieben. – gkb
Observable.SelectedPeople hat einen Standardwert, der die Observable.People auf die angegebene setzen [email protected] gkb – user4058171
Schauen Sie sich diesen Beitrag an und sehen Sie, wie das Attribut 'optionsValue' im Auswahlsteuerelement http://stackoverflow.com/questions/13587230/knockout-bind-a-key-value-object-to-dropdown verwendet wurde – gkb