Это то, что вам нужно знать:
Html.node
Итак, ваш код Elm говорит, что я хочу для рендеринга
. Elm отвечает за помещение этого узла в dom и удаление его.
Ваш пользовательский элемент и JS выполняют рендеринг того, что происходит внутри этого узла.
Ваш пользовательский элемент может отправлять события обратно в Elm (например, зависания, щелчки, пользовательские элементы).
Порты предназначены для обработки. У вас есть данные, которые вы хотите отправить между Elm / JS. Если вы отправляете данные через порт на JS, а JS изменяет DOM, у вас, скорее всего, возникнут проблемы.