Size: a a a

Elm Lang сообщество разработчиков

2019 October 31

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Суть в том, что вложенный элемент не должен по возможности ничего знать о том, куда его поместят.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Он только может что-то сообщать во внешний мир
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Но сообщать через Cmd не очень удобно, если речь о синхронных сообщениях идёт
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Поэтому можно возвращать "сообщение родителю"
источник

MP

Max P in Elm Lang сообщество разработчиков
аа, тогда я не до конца понял, попробую сделать, скину что вышло
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Пример: хочется запилить список элементов, которые сами свои события обрабатывают. Как тудушки в TODO MVC, ага. Но возникает задача убирания элемента из списка. Возможные решения:
- не выделять элемент и на уровне списка всё обрабатывать,
- дать возможность эелемнту работать с моделью родителя (такое себе),
- явно хранить в стейте элемента флаг "готов к удалению" (родитель должен читать содержимое детей),
- дать элементу возможность сообщить "удали меня".
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Последний вариант даёт максимум контроля: элемент не раскрывает своих секретов, не трогает стейт родителя — барьер абстракции остаётся. Это важное свойство, имхо
источник

MP

Max P in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Э... зачем?
вопрос скорее такой:
- есть msg (Inc, Dec) и subMsg (DecSub)
- на кнопке висит сообщение (какое)?
- по клику на это сообщению, я должен вызвать дочернее сообщение?

что мне пришло в голову после подсказки:
- есть msg (Inc, Dec, FromParentSubDec) у родителя и SubDec, ToParentSubDec у подмодели.
- на клик выполняется FromParentSubDec, далее что происходит - не ясно

---
что я не могу понять:
1) на клик можно повесить только Msg?
2) если да, то дальнейшее взаимодействие между Model и SubModel не вырисовывается.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
> по клику на это сообщению, я должен вызвать дочернее сообщение?
именно так!
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
сообщения — это API
источник

MP

Max P in Elm Lang сообщество разработчиков
(вынужден отойти, ~ через час вернусь и продолжу)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
На клик можно повесить только Msg. Но у Html есть функция map, позволяющая обернуть сообщения от подвьюхи в месадж родителя
источник

TT

Taras 🦀 Taraskin in Elm Lang сообщество разработчиков
добрый день/вечер всем
источник

TT

Taras 🦀 Taraskin in Elm Lang сообщество разработчиков
правильно понимаю — для Elm приложения надо
передать внутрь нужные для работы DOM элементы,
как описано тут https://guide.elm-lang.org/interop/

как в первом примере https://guide.elm-lang.org/interop/ports.html

или же передать данные с Elm в js, и в функции-обертке что-то сделать, как во втором примере https://guide.elm-lang.org/interop/ports.html

... .subscribe(function ...

? все так? верно понимаю?
а внутри Elm — пишу себе ФП спокойно, в кайф, как в erlang/haskell , без лишних ненужных скобочек
источник
2019 November 04

RT

Roman Truschev in Elm Lang сообщество разработчиков
источник

MP

Max P in Elm Lang сообщество разработчиков
Resizable history!!)
источник

MP

Max P in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
На клик можно повесить только Msg. Но у Html есть функция map, позволяющая обернуть сообщения от подвьюхи в месадж родителя
Добрый вечер, я попытался тут https://ellie-app.com/774JxNkXt3Ka1

но пока не могу понять, что мне говорит компилятор.
This `DecrementSubModel` value is a:

   SubMsg

But `map` needs the 2nd argument to be:

   Html SubMsg

Я это понимаю так, что DecrementSubModel - типа SubMsg, но как из него сделать Html SubMsg не могу придумтаь.
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
Вы Html.map пытаетесь использовать в onClick - там нету никакого Html Msg
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
onClick хочет просто Msg 🙂 Так что onClick (FromSubMsg DecrementSubModel) будет работать, но это не совсем то, что вам тут пытались объяснить
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
Я прямо всей вашей истории не читал, но как я понял вы хотите отдельный view/msg/update для части приложения.
источник