Ich verwende Knockout js. Ich habe ein Ansichtsmodell, das ein Array von Objekten enthält, und ich möchte dem Benutzer erlauben, eines der Objekte mit einem Assistenten Stil Schnittstelle zu bearbeiten. Das Problem, das ich habe, ist, dass der Assistent verschiedene Schritte anzeigt, je nachdem, welche Auswahl getroffen wird . Zum Beispiel:
- Wenn der Benutzer in Schritt 1 "Ja" auswählt, wird Schritt 2a angezeigt.
- Wenn der Benutzer in Schritt 1 "Nein" auswählt, wird Schritt 2b angezeigt (d. h. ein anderes Dialogformular)
Das geht so weiter, dass die Wege durch den Assistenten nicht linear sind.
Meine Frage lautet Binde ich alle möglichen UI-Schritte des Assistenten beim Start an das Ansichtsmodell? auch wenn einige Schritte nie angezeigt werden und die Bindungen auf einigen Bildschirmen ungültig sind (z. B. kann Schritt 5 an viewModel.theObject.PropertyA.PropertyB.PropertyC() binden, aber PropertyB ist bei Schritt 1 immer noch null).
Ein besserer Weg kann zu binden, um die UI-Schritte, wie Sie angezeigt werden, aber mein Problem ist dann gibt es ich bin mir nicht bewusst, eine gute Möglichkeit, "unbind" das Modell, sobald der Schritt abgeschlossen ist, so dass ich am Ende mit dem Schritt gebunden an mehrere Objekte aus der ursprünglichen Liste könnte!