2016-10-09 15 views
1

を取得しますこのエラー:エルムは、私は、このURLからJSONデータのリストを取得しようとしているJSONリストデータ

Function `program` is expecting the argument to be: 
    { ..., 
     update : 
     Msg 
      -> { imageURL : String, name : String } 
      -> ({ imageURL : String, name : String }, Cmd Msg) , 
     view : { imageURL : String, name : String } -> Html Msg 
    } 

But it is: 
    { ... 
    , update : Msg -> List Model -> (List Model, Cmd Msg) 
    , view : List { a | name : String } -> Html b 
    } 

答えて

1

あなたFetchSucceedタグがモデル(FetchSucceed (List Model))のリストを持つものとして定義されていますが、あなたのupdate機能であなたがトリートあるさあたかもリストではなく単一のモデルであるかのように振る舞います。あなたがあれば

あなたが達成しようとしているかを正確に知らず
FetchSucceed recipes -> 
    (recipes, Cmd.none) 

が、私は、のような、潜在的な解決策でヒントを提供することができます:私は、複数のように値を変更した場合、それは問題の領域を強調すべきですレシピが返されない場合は、リストの最初の要素を取得して現在のモデルに戻したいと思っていただけです。

FetchSucceed recipes -> 
    let recipe = 
     case List.head recipes of 
      Just r -> r 
      Nothing -> model 
    in 
     (recipe, Cmd.none) 
+0

私は後でそれを理解しました"init"関数でリスト内のレシピを作成する – kayne

関連する問題