所以我在elm中做了一个非常基本的登录页,我想根据初始屏幕大小来决定要使用什么图片,然后再次调整大小。我在窗口模块上找到了resize函数,并使其工作正常,但我也不知道如何加载它。
我在找这样的东西:

initialModel : Model
initalModel model =
    {width = Window.size.width}

我最终将图片制作成div上的背景图片,然后根据屏幕大小更改图片,但感觉不太理想。下一个使用elm css的最佳方法是什么?
我是不是漏掉了一些显而易见的东西?

最佳答案

要在应用程序加载时获取值,您可能需要使用Html.programWithFlags并从javascript传入窗口大小。

type alias Flags =
    { windowWidth : Int }

type alias Model =
    { windowWidth : Int, ... }

main =
    Html.programWithFlags
        { init = init
        , update = update
        , subscriptions = \_ -> Sub.none
        , view = view
        }

init : Flags -> ( Model, Cmd Msg )
init flags =
    { windowWidth = flags.windowWidth } ! []

在应用程序启动时传入标志,如下所示:
var app = Elm.Main.fullscreen({ windowWidth: window.innerWidth })

关于css - Elm:获取加载时的窗口宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49100479/

10-12 15:31