Вы определяете сигнатуру исходящего порта, но без тела, например:
port questionUpdated : Question -> Cmd msg
(при условии, что у вас есть тип или псевдоним Question
; ваш вопрос не был указан)
Затем в вызывающем javascript вы определяете обработчик порта после вызова Elm init
:
var app = Elm.Main.init({ node: document.querySelector('main') })
app.ports.questionUpdated.subscribe(function(data) {
// your javascript for handling updated question
});
Чтобы передать новое значение вопроса в порт при обновлении, просто передайте его во втором значениитипа возврата от update
:
( { model | question = updatedQuestion } , questionUpdated updatedQuestion )