Wechselt zwischen der schreibgeschützten Ansicht und der Bearbeitungsansicht im Backbone js

8

Ich suche nach einem Muster in Backbone js, um zwischen readonly und edit view zu wechseln. Wenn der Auslöser für die Ansicht außerhalb der Ansicht ist, dann kann ich problemlos die entsprechende Ansicht erstellen (nur lesen oder bearbeiten) und rendern, aber in meinem Fall befindet sich der Auslöser für die Bearbeitungsansicht innerhalb der schreibgeschützten Ansicht.

Zum Beispiel lässt sich sagen, dass ich ein Rezept anzeige und standardmäßig im Nur-Lese-Modus ist und beim Schweben wird ein Bearbeitungssymbol angezeigt. Durch einen Klick auf dieses Bearbeitungssymbol sollte die schreibgeschützte Ansicht nun durch die Bearbeitungsansicht ersetzt werden. Was wäre ein bester Ansatz, um dies zu erreichen? Im Folgenden sind einige Optionen, die ich in Betracht ziehe

  1. Haben Sie eine einzige Rezeptansicht mit dem Bearbeitungssymbol und allen für den Bearbeitungsmodus erforderlichen Formularfeldern. Es wird auch die Logik haben, die Ansicht vom Nur-Lese-Modus zum Bearbeitungsmodus basierend auf dem Bearbeitungs-Auslöser zu ändern.
  2. Haben Sie zwei Ansichten PrescriptionReadView und PrescriptionEditView. Die ReadView wird das Bearbeitungssymbol haben und onclick ersetzen die reviewview mit editview.

Ich bin zu # 2 geneigt, bin mir aber nicht sicher, wie ich es elegant umsetzen soll. Irgendwelche Gedanken dazu werden hilfreich sein.

Danke Zafer

    
mzafer 02.06.2012, 15:16
quelle

1 Antwort

12

Ihr Leben wird erheblich weniger schmerzhaft sein, wenn Sie Ihre hübsche Ansicht von Ihrer Bearbeitungsansicht trennen, da sie im Grunde zwei eindeutige Ansichten derselben Daten mit unterschiedlichen Ereignissen sind -handling Bedürfnisse und anderes Verhalten. Also sind deine Instinkte, die dich zu # 2 führen, direkt auf das Geld .

Die sauberste Implementierung, die ich mir vorstellen kann, besteht darin, eine Containeransicht (z. B. PrescriptionView) zu erstellen, die die Modus-Swapping-Ereignisse verarbeiten kann. Der Container besitzt eine Referenz auf die derzeit aktive Verschreibungsansicht und behandelt die Erstellung dieser Ansicht sowie die Bereinigung (Entfernen und Trennen) der inaktiven Ansicht. Das hält all diese Logik schön und in sich geschlossen.

    
Tess 02.06.2012, 19:59
quelle

Tags und Links