【问题标题】:Elm to manage a particular section of a siteElm 管理网站的特定部分
【发布时间】:2018-05-03 07:29:52
【问题描述】:

您好,我是 elm 新手,想知道是否可以设置 elm 使其仅管理网站的一个部分。网站的其余部分将使用纯 javascript、html、css。

但我想在单独的脚本标签中加载已编译的 elm 应用程序,它应该只管理一个特定的部分

假设网站被垂直分为 10 个高度为 300 像素的 div。我只希望第三个 div 是一个榆树应用程序。

这样的事情可能吗?如果是这样,我怎样才能让它工作

【问题讨论】:

    标签: elm


    【解决方案1】:

    您可以为此使用Htmlembed 函数。我曾经这样做只是为了尝试一下,但不幸的是无法回忆起任何细节。不过我确实找到了一些源代码。

    html 页面应该是这样的

    <html>
      <head>
      </head>
      <body>
        <div id="personnel"></div>
      </body>
    
      <script src="elm.js"></script>
      <script>
        Elm.Person.embed(document.getElementById('personnel'));
      </script>
    </html>
    

    通过包含 elm.js,您将获得 Elm 运行时。这里Person 是我编译的 Elm 模块。类似的东西

    module Person exposing (..)
    
    -- Module details here...
    
    main =
      Html.beginnerProgram { model = init, view = view, update = update }
    

    使用命令将 Elm 代码编译为 JavaScript

    elm-make Person.elm --output elm.js
    

    我对此的了解非常有限,但我确实对其进行了充分调查,以确保通过这样做,可以将使用 Elm 制作的多个组件添加到 html 页面/现有应用程序中。

    附录:我找到了source of my information

    【讨论】:

    • 有没有办法从 javascript 中删除 elm 模块?像 Elm.Person.unmount() 这样的东西?还是销毁()?
    • @Imraan 您删除 Elm 模块的用例是什么?如果你删除了添加模块的 div 怎么办?
    【解决方案2】:

    除了以前的答案之外,您还想看看: https://ellie-app.com/h7vqHrPdWa1/0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多