Can you show us your Tab.view code? Changing the type signature in the manner I suggested will require changes to the function. It will be easier to explain if I can see what you have right now.
On Wed, May 18, 2016 at 7:12 PM, Luis Fei <[email protected]> wrote: > Thanks,Nick,sorry for the later reply > > I tried to apply the changes to Tab.view, still have the problem, this > time the compiler complained inferring definition has this type: `(Msg -> > a) -> Model -> List (Html Msg) -> Html Msg`, and I'm confused how to use > this new added TabMsg parameter inside Tab.view > > On Wednesday, May 18, 2016 at 12:36:35 AM UTC+8, Nick H wrote: >> >> Right now, I am guessing your Tab.view has this signature: >> >> Tab.view : Tab.Model -> List (Html Tab.Msg) -> Html Tab.Msg >> >> Try changing it to follow this signature: >> >> Tab.view : (Tab.Msg -> a) -> Tab.Model -> List (Html a) -> Html a >> >> And your Main.view will then look like this: >> >> view model = >> Tab.view TabMsg model.tabModel >> [ App.map LogsMsg <| LogList.view model.logModel ] >> >> >> The other solution that comes to mind would be to nest the LogList.Model >> within Tab.Model and nest LogList.Msg within Tab.Msg, but I am guessing you >> want the Tab component to be more generic than that. >> >> On Tue, May 17, 2016 at 3:26 AM, Luis Fei <[email protected]> wrote: >> >>> Hi, I was trying to upgrade from 0.16 to 0.17, and meet this problem >>> >>> I have a Main.view which contains a Tab.view, and Tab.view contains a >>> LogList.view, so i change the Signal.forwardTo part like this: >>> >>> -- This is Main module >>> >>> type alias Model = >>> { tabModel : Tab.Model >>> , logsModel : LogList.Model >>> } >>> >>> type Msg >>> = TabMsg Tab.Msg >>> | LogMsg LogList.Msg >>> >>> view : Model -> Html Msg >>> view model = >>> App.map TabMsg >>> <| Tab.view model.tabModel >>> [ App.map LogsMsg <| LogList.view model.logModel ] >>> >>> >>> And the compiler complained as the Tab.view is expecting `List (Html >>> Tab.Msg)` but it is `List (Html Msg)`, I understand why the compiler >>> complain like this, the problem is I don't know how to do these kind of >>> multi-level nesting. >>> >>> thanks. >>> >>> BTW, I read >>> https://github.com/evancz/elm-architecture-tutorial/blob/master/nesting/2-counter-list.elm, >>> but it's single child to parent communication. >>> >>> -- >>> 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 [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
