我想用邮件内联邮箱发送邮件。
module Main where
import Graphics.Element exposing (show)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Extra exposing (..)
import Signal
import Model.PickList exposing (pickList)
import Model.BabyName.Debug as Debug
headerPane : Html
headerPane =
header [ id "header" ]
[ text "header" ]
leftPane : Signal Html
leftPane = flip Signal.map (.signal pickList) <| \pl ->
ul []
[ li []
[ fromElement << show <| pl ] ]
mainPane : Html
mainPane =
section [ id "main" ]
[ text "what? what?" ]
layout : Signal Html
layout = flip Signal.map leftPane <| \lp ->
div [ id "wrapper" ] <|
[ headerPane
, lp
, mainPane ]
main : Signal Html
main =
(Signal.send (.address pickList) Debug.dummyList) -- type error
layout
我觉得我所需要的只是haskell的>>
。但这些是信号(不是Monads),没有do
符号或>>= \_ ->
类型的疯狂,我也没有看到liftTask
。想法是在Elm中你需要一个外部输入,并且不能从应用程序的角度任意发送吗?请帮我理解。
答案 0 :(得分:1)
Elm 0.15中的任务是通过port
发送的。这意味着您的Task
或Signal Task
需要在Main
模块的顶层提供,因为这是您宣布{{1}的唯一地方}}。这意味着您不能简单地将消息发送到邮箱内(这会产生副作用),您必须确保任务可以通过您的程序流向端口定义。
port