2017-01-25 3 views
0

У меня есть проблема в представлении, я хотел бы показать модель таким образом, я использую код:вид поле. Похоже, что функция требует больше 1 аргумента

import Html exposing (..) 
import Html.Attributes exposing (..) 
import Html.Events exposing (..) 


main = 
    beginnerProgram { model = model, update = update, view = view } 


type alias Model = { 
    toto : String 
    } 


model = { toto = "" } 



type Msg = UpdateText String 


update msg model = 
    case msg of 
    UpdateText text -> 
     {model | toto = text } 




view : Model -> Html (String -> Msg) 
view model = 
    div [] 
    [ button [ onClick UpdateText ,value "hello" ] [ text "-" ] 
    , div [] [ text (toString model.toto) ] 
    , button [ onClick UpdateText, value "word" ] [ text "+" ] 
    ] 

У меня есть эта ошибка, но я не понимаю, что не подходит с моей точки зрения:

Аргумент функции beginnerProgram вызывает несоответствие.

11 | beginnerProgram {model = model, update = update, view = view} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ Функция beginnerProgram ожидает аргумент быть:

{ ..., view : { toto : String } -> Html (Msg) } 

Но:

{ ..., view : Model -> Html (String -> Msg) } 

Подсказка: Проблема в view поле. Похоже, функция нуждается в дополнительном аргументе 1 .

Спасибо

ответ

1

UpdateText принимает один аргумент и возвращает Msg значение. Ваши кнопки просмотра должны выглядеть примерно так:

button [ onClick (UpdateText "hello") ] [ text "-" ] 
Смежные вопросы