je les types suivants dans mon application:Le chemin Elm de drapeaux pour transformer modélise
type Page
= Welcome
| Cards
type alias Flags =
{ recipientName : String
, products : List Product
}
type alias Product =
{ id : Int
, name : String
, price : Float
, liked : Maybe Bool
}
type alias Model =
{ recipientName : String
, currentPage : Page
, products : List Product
}
Je passe une gamme de produits comme des drapeaux. Voilà ce que mon init
ressemble:
init : Flags -> (Model, Cmd Msg)
init flags =
let
{ recipientName, products } =
flags
in
Model recipientName Welcome products
|> withNoCmd
Le défi que je suis face est que les produits de ce tableau ne sont id
, name
et price
attributs. Ainsi, étant donné la définition Flags
, chaque fois que j'étend Product
avec un nouvel attribut (tel que liked
), le tableau de produits transmis en tant que drapeaux doit également avoir cet attribut. Pour l'instant, je les rends simplement vides, mais cela ne me semble pas normal, alors je me demandais quelle est la méthode Elm de recevoir des drapeaux et de les transformer en modèle? Je vous remercie!
Merci, Conrad! Vraiment l'idée d'avoir une liste de produits, tuples Extensions! –