1
我在Elm StartApp MUV框架的更新函数中有以下Action处理程序。Elm在更新函数中发送邮件到邮箱
signupAlertMailbox : Signal.Mailbox String
signupAlertMailbox =
Signal.mailbox ""
update : Action -> Model -> (Model, Effects Action)
update action model =
case action of
Submit ->
let isInputValid = Dict.foldl (\fieldName fieldState validity -> if validity
then (fieldState == IsOkay)
else validity)
True model.inputState
rnd = log "Input valid" isInputValid
-- in (model, Effects.none)
in if isInputValid
then (model, Signal.send signupAlertMailbox.address "Oh snap! Change a few things up and try submitting again."
|> Effects.task
|> Effects.map (always Submit))
else (model, Signal.send signupAlertMailbox.address "Well done! All input correct!"
|> Effects.task
|> Effects.map (always Submit))
在提交行动,我可以看到在浏览器控制台日志消息,但是没有消息被发送到signupAlertMailbox。请帮我解决这个问题。
- 编辑
的的startApp接线,代码的要求,在下面的评论:
import StartApp exposing (start)
import Time exposing (every, second)
import Pages.Signup.Model
import Pages.Signup.Update exposing (signupAlertMailbox)
import Pages.Signup.View
app =
start
{ init = Pages.Signup.Model.init
, view = Pages.Signup.View.view
, update = Pages.Signup.Update.update
, inputs = []
}
您可以发布您的代码接线,得到的startApp在sigupAlertMailbox邮箱的邮件?当'start'的返回值不会将'app.tasks'分配给端口 –
时,通常会出现这种类型的问题我已经添加了将代码连接到StartApp。请协助我。谢谢。 –
我把app.tasks移交给你提到的一个端口,它工作得很好。谢谢! :) –