所以我在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/