This page covers Elm 0.18

ルーティングの紹介

アプリケーションにルーティングを追加しましょう。 Elm Navigation packageUrlParserを使用します。

  • ナビゲーションはブラウザの場所を変更し、変更に対応する手段を提供します
  • UrlParserはルートマッチャーを提供します

最初にパッケージをインストールします。

elm package install elm-lang/navigation 1.0.0
elm package install evancz/url-parser 1.0.0

NavigationHtml.programをラップするライブラリです。 Html.programのすべての機能といくつかの余分な機能を備えています:

  • ブラウザ上でのロケーションの変更を待ち受る
  • 場所が変更されたときにメッセージをトリガする
  • ブラウザの場所を変更する方法を提供する

フロー

ルーティングの仕組みを理解するための図をいくつか示します。

初期レンダリング

Flow

(1) ページが最初に読み込まれるとき、 Navigationモジュールは現在のLocationを取得し、それをアプリケーションのinit関数に送ります。 (2) init関数中でこのlocationをパースし一致するRouteを得ます。 (3,4) 一致した Routeをアプリケーションの初期モデルに保存し、このモデルをNavigationに返します。 (5,6) この初期モデルを送ることでNavigationはビューをレンダリングします。

ロケーションが変更されたとき

Flow

(1) ブラウザの閲覧ロケーションが変更されると、ナビゲーション・ライブラリーはイベントを受け取ります (2) OnLocationChangeメッセージがupdate関数に送られます。このメッセージには新しいLocationが含まれます。 (3,4) updateでは、 Locationを解析し、一致するRouteを返します。 (5) updateからアップデートRouteを含む更新されたモデルを返します。 (6,7) Navigationは、アプリケーションを通常通りレンダリングします

results matching ""

    No results matching ""