This page covers Elm 0.18

메인

메인 레벨에서 앞에서 만든 플레이어 모듈에 접근해야겠죠.

이렇게 참조할 겁니다:

Main Messages  --->    Players Messages
Main Models    --->    Players Models
Main Update    --->    Players Update

메인 메시지

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 ]
    }

일단은 플레이어 하나를 하드코드 해두겠습니다.

메인 업데이트

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 아키텍쳐를 따르고 있습니다:

  • 모든 PlayersMsgPlayers.Update 로 보내집니다.
  • 패턴 매칭으로 Players.Update 의 결과를 추출합니다.
  • 새로운 플레이어 리스트와 커맨드를 모델에 포함시켜 리턴합니다.

results matching ""

    No results matching ""