我已经开始掌握Elm,但在处理信号和键盘按键时仍然感到困惑。下面的代码是start-app包的示例。我希望当我按下空格键时,计数器会自动增加。如何在下面的示例中实现此功能?
import Html exposing (div, button, text)
import Html.Events exposing (onClick)
import StartApp.Simple as StartApp
main =
StartApp.start { model = model, view = view, update = update }
model = 0
view address model =
div []
[ button [ onClick address Decrement ] [ text "-" ]
, div [] [ text (toString model) ]
, button [ onClick address Increment ] [ text "+" ]
]
type Action = Increment | Decrement
update action model =
case action of
Increment -> model + 1
Decrement -> model - 1
Keyboard.presses
,因为你无法检查它们是否同时被按下。 - StankoKeyboard.keysDown
。该信号会给你一个Set
,其中包含当前按下的所有键。如果您试图确定按键而不是持续按下的键,则可能会遇到问题,但由于当其中一个键被释放时,您将获得新的信号,因此这可能是您想要的。 - Chad Gilbert