如何在Elm的同一页面中多次加载带有标志的组件?

时间:2017-07-07 21:04:15

标签: elm

有没有办法使用Elm为页面构建组件,并在同一个Elm文件中编译两个组件,以及使用相同的代码加载两个相同的组件?

你知道我怎么做吗?

1 个答案:

答案 0 :(得分:3)

elm-make允许您选择要一起编译的多个文件。

elm-make Header.elm Footer.elm Button.elm --output=app.js

<强> Header.elm

port module Header exposing (..)

import Html


main =
    Html.div [] [ Html.text "Header" ]

<强> Footer.elm

port module Footer exposing (..)

import Html


main =
    Html.div [] [ Html.text "Footer" ]

<强> Button.elm

port module Button exposing (..)

import Html


main =
    Html.div [] [ Html.button [] [ Html.text "Button" ] ]

<强>的index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Elm Demo</title>
  </head>

  <body>
    <div id="header"></div>
    <div id="button"></div>
    <div id="button2"></div>
    <div id="footer"></div>
  </body>
  <script src="app.js"></script>
  <script>
      let header = Elm.Header.embed(document.getElementById("header"));
      let footer = Elm.Footer.embed(document.getElementById("footer"));
      let button = Elm.Button.embed(document.getElementById("button"));
      let button2 = Elm.Button.embed(document.getElementById("button2"));
  </script>
</html>