Der folgende Code aus this Führung einen Union-Typen verwendet alle möglichen Widget-Typen zu halten, macht dann eine Ansicht:Ulme - Union-Typ und das Modell
type Widget
= ScatterPlot (List (Int, Int))
| LogData (List String)
| TimePlot (List (Time, Int))
view : Widget -> Element
view widget =
case widget of
ScatterPlot points ->
viewScatterPlot points
LogData logs ->
flow down (map viewLog logs)
TimePlot occurrences ->
viewTimePlot occurrences
Meine eher elementare Frage ist:
Mit Bezug auf die Widget
Art, was ist das zugrunde liegende Modell hier?
Bei einer Aktion (z. B. Benutzer möchte ein Streudiagramm-Widget sehen), was ist die zugrunde liegende Struktur, die aktualisiert werden sollte?
Sind Permutationen von 2 oder 3 Widget-Typen außerhalb des Anwendungsbereichs des Beispiels? Ich habe mich gefragt, was müsste aktualisiert werden, wenn der Benutzer von einem Widget-Typ zu einem anderen wechseln wollte. – category
Sie benötigen ein Benutzerereignis, um den Aktualisierungszyklus auszulösen, und eine Funktion, die die Daten in das neue Format umwandelt –