There used to be a "nesting" set of examples in The Elm Architecture but
lately this approach has been discouraged.

What you describe here is a kind of decomposition into components.

It is recommended that you have one model and you decompose the
functionality of update & view using regular functions.

If you want to see how this used to be done, take a look at the old
CounterPair example:
https://github.com/pdamoc/elm-architecture-tutorial/blob/master/examples/2/CounterPair.elm

Please note that this code is obsolete.




On Mon, Nov 14, 2016 at 4:43 PM, Tim Bezhashvyly <tim.bezhashv...@gmail.com>
wrote:

> I just started digging into Elm so quite possible that my question has a
> conceptual problem. Please let me know if so.
>
> I have a module A which is asynchronously reading data from JSON. Module A
> among other things exposes `getJson` function. As the read is processing
> data asynchronously it can not just return data structure but returning
> it's Msg type instead which is:
>
> type Msg
>   = FetchSucceed (Maybe Jobs)
>   | FetchFail Http.Error
>
> Now if module B imports module A it can call `getJson` method but it will
> only trigger  initial call and then has to listen to `FetchSucceed`:
>
> update : A.Msg -> A -> (A, Cmd A.Msg)
> update msg model =
>   case msg of
>   FetchSucceed a ->
>   (A a, Cmd.none)
>
>   FetchFail _ ->
>   (model, Cmd.none)
>
> My question is if module B has it's own command how does `update` function
> combines listening to commands from both modules?
>
> Thanks.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Elm Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elm-discuss+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
There is NO FATE, we are the creators.
blog: http://damoc.ro/

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to