This page covers Elm 0.18
メイン
メインレベルは私たちが作成したPlayersモジュールに接続する必要があります。
以下のように関連付ける必要があります:
メインメッセージ ---> プレイヤーメッセージ
メインモデル ---> プレイヤーモデル
メイン更新 ---> プレイヤー更新
メインメッセージ
src/Messages.elmを変更してプレイヤーメッセージを追加する:
module Messages exposing (..)
import Players.Messages
type Msg
= PlayersMsg Players.Messages.Msg
主なモデル
プレイヤーを含めるようにsrc/Models.elmを変更する:
module Models exposing (..)
import Players.Models exposing (Player)
type alias Model =
{ players : List Player
}
initialModel : Model
initialModel =
{ players = [ Player "1" "Sam" 1 ]
}
ここでは、1名のプレーヤーをハードコーディングしておきます。
メインの更新
src/Update.elmを次のように変更します。
module Update exposing (..)
import Messages exposing (Msg(..))
import Models exposing (Model)
import Players.Update
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
PlayersMsg subMsg ->
let
( updatedPlayers, cmd ) =
Players.Update.update subMsg model.players
in
( { model | players = updatedPlayers }, Cmd.map PlayersMsg cmd )
ここではElmアーキテクチャに従います:
- すべてのPlayersMsgは
Players.Update
にルーティングされます。 - パターンマッチングを使用して
Players.Update
の結果を抽出します - 更新されたプレーヤーリストと実行する必要のあるコマンドを含むモデルを返します。