ähnliche Frage: Select element's initial valueKnockoutJS Wählen Sie Optionen und ausgewählter Wert
Ich habe ein Problem, den Anfangswert des Auswahlelementes einstellen. Ich habe grundsätzlich eine Liste von Seed-Daten, die vom Server kommen, um die Dropdown-Liste aufzufüllen, und ich möchte, dass der ausgewählte Wert darstellt, was aus der Entität ausgewählt werden soll.
Da der ausgewählte Wert des Datenmodells nicht mit dem Objektverweis in den Seed-Daten übereinstimmt, wird nichts ausgewählt.
Momentan durchlaufe ich jede Entity, finde den korrekten ausgewählten Wert, setze das gleich dem Äquivalent der Seed-Daten, dann weiß Knockout wie man es verbindet.
Gibt es eine elegantere Lösung, die das? Ich fiedelte ein vereinfachtes Beispiel mit mehr Details ... http://jsfiddle.net/hbrYM/14/
Danke für die Antwort, es macht Sinn. Ich sende derzeit das Objekt zurück (nicht nur die ID), das dann deserialisiert und persistiert wird. Ich hatte wirklich gehofft, es gibt eine Möglichkeit, KO zu "instruieren", wie ich dies verdrahte, weil ich so viele verschiedene Auswahlen in dieser bestimmten UI habe ... – aswallows
Sie können das Objekt immer noch recht einfach zurücksenden, wenn Sie die Daten vom Server auswählen kommt herein, sende einfach die ID. Wenn Sie eine neue ausgewählte zurück senden müssen, schreiben Sie einfach eine berechnete, die das aktuell ausgewählte Objekt retourniert (siehe Bearbeiten). Es ist tatsächlich schlanker, es auf diese Weise zu tun, Sie haben bereits die Seed-Daten, also warum sollten Sie diese zusätzlichen Informationen noch einmal senden? – madcapnmckay
Danke für die Rückmeldung! Ich werde einen Blick darauf werfen, diesen Ansatz zu verwenden. – aswallows