Не могу понять, как отправлять сообщения между модулями при работе с повторно используемыми компонентами.
У меня есть расширяющаяся текстовая область, которую я хотел бы использовать в различных разделах сайта. Текстовая область принимает часть HTML, которая составляет действия пользователя. Как правило, обработка отправки, отмены, загрузки значков и т. Д.
Пытался написать краткий пример того, о чем я говорю, не бросая тонны кода здесь. По сути, я хотел бы просто подключить и воспроизвести фрагменты HTML, которые уже присоединены.
Я предполагаю, что CancelNote запускается как сообщение TextArea, поэтому оно никогда не увидит сообщение Cancel Note. Не уверен, как бы я использовал Html.map здесь (или даже если бы я это сделал) ..... чувствую, что метод plug and play, вероятно, плохой подход, но не уверен, как еще я мог бы добиться приличного повторного использования.
SEPERATE MODULE
update model msg =
case msg of
CancelText ->
( { model | note = (Just "") }
, Cmd.none
)
view: stuff
view stuff =
......
TextArea.view
(button [ Html.Events.onClick CancelText] [])
TEXT AREA MODULE
view : Html.Html msg -> Html msg
view actionHtml =
div [ class "extended_text_area_container" ] [
textarea [] [
]
, actionHtml
]