Modelin ilk kez güncellenmesi için basit bir uygulamayı elm-lang tutorial'dan değiştirmeye çalışıyorum, ardından başka bir güncellemeyi tetikliyorum.Elm - Msmd'yi Msd'ye dönüştürün Msn
The 3rd branch has this type:
({ gifUrl : String, topic : String }, Cmd Msg)
But the 4th is:
({ gifUrl : String, topic : String }, Msg)
Yani benim Msg tipi Cmd Msg olması gerekiyor: newtopic şube çünkü
update msg model =
case msg of
MorePlease ->
(model, getRandomGif model.topic)
NewGif (Ok newUrl) ->
({ model | gifUrl = newUrl }, Cmd.none)
NewGif (Err _) ->
(model, Cmd.none)
-- my addition
NewTopic newTopic ->
({ model | topic = newTopic}, MorePlease)
Bu derleyici başarısız olur. Bir Cmd Msg içine "Benim Msg açabilirsiniz Nasıl
not:? Ben bu değişikliği yapmak için daha basit bir yolu yoktur tanımak ama Elm anlamaya çalışıyorum daha temelden
Teşekkür ederim. Bu sorunu çözmek için daha kolay bir yoldur. Hala merak ediyorum, bir "Msg" bir "Cmd Msg" için "dökmek" gerekecek mi? Ve ben yaparsam nasıl olur? – steel
Cevabımı bir örnekle güncelledim –
@ChadGilbert: Yeni "Msg" yi kullanarak neden ikinci yaklaşımı önermeyeceğinizi biraz daha açıklayabilir misiniz? – DanEEStar