发送初始消息时,无法触发响应消息。发送初始消息时无法触发响应消息
我有一个按钮:
button
[ class "register"
, value "Create Account"
, onClick Submit
]
我有以下消息:
type Msg
= Submit
| Response (Result Http.Error JsonProfile)
是通过点击按钮调用的消息处理程序如下:
update : Msg -> Form -> (Form, Cmd Msg)
update msg model =
case msg of
Submit ->
(model, runtime.tryRegister model Response)
...
这里的其他消息处理程序:
update : Msg -> Form -> (Form, Cmd Msg)
update msg model =
case msg of
Submit ->
(model, runtime.tryRegister model Response)
Response (Ok json) ->
(model, Navigation.load <| "/#/portal/1")
Response (Err error) ->
(model, Cmd.none)
我tryRegister实现如下:
tryRegister : Form -> (Result Http.Error JsonProfile -> msg) -> Cmd msg
tryRegister form msg =
let
jsonProfile =
JsonProfile 1 form.firstName form.lastName form.email
newMsg v =
msg
in
Cmd.map (newMsg <| Result.Ok jsonProfile) Cmd.none
这里的客户端代码榆树模块上面描述:
onRegistration : Registration.Msg -> Model -> (Model, Cmd Msg)
onRegistration subMsg model =
let
(form, _) =
Registration.update subMsg model.registration
in
case subMsg of
Registration.Submit ->
({ model | registration = form }, Cmd.none)
Registration.Response result ->
case result of
Result.Ok jsonProfile ->
let
newUser =
jsonProfileToProvider jsonProfile
newState =
{ model
| registration = form
, portal =
{ initPortal
| provider = newUser
, requested = Domain.EditProfile
, linksNavigation = False
, sourcesNavigation = False
}
}
in
(newState, Navigation.load <| "/#/portal/" ++ getId newUser.profile.id)
Result.Err _ ->
(model, Cmd.none)
后市展望:
我希望,当我点击按钮,导航就会发生。 但是,没有任何反应,我不明白为什么。
源代码here。
我非常感谢您的详细解答。我该如何回馈? –