Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dom 如何在Elm中使用Window.dimensions初始化模型?_Dom_Elm - Fatal编程技术网

Dom 如何在Elm中使用Window.dimensions初始化模型?

Dom 如何在Elm中使用Window.dimensions初始化模型?,dom,elm,Dom,Elm,在一个滑动益智游戏中,我想根据初始窗口尺寸设置初始瓷砖大小(以最大化屏幕空间) 换句话说,我想根据Window.dimensions的初始值设置initialModel 我找不到如何执行此操作,最终使用端口获取初始窗口尺寸: index.html Elm.全屏(Elm.App、{ 窗口大小:[ document.documentElement.clientWidth, document.documentElement.clientHeight ] }); App.elm 端口窗口大小:(In

在一个滑动益智游戏中,我想根据初始窗口尺寸设置初始瓷砖大小(以最大化屏幕空间)

换句话说,我想根据
Window.dimensions的初始值设置
initialModel

我找不到如何执行此操作,最终使用端口获取初始窗口尺寸:

index.html

Elm.全屏(Elm.App、{
窗口大小:[
document.documentElement.clientWidth,
document.documentElement.clientHeight
]
});
App.elm

端口窗口大小:(Int,Int)
初始模型=
--windowSize的一些功能
模型=
Signal.foldp更新初始模型输入
类型动作
=窗口大小调整(Int,Int)
| ...
窗口大小调整=
Signal.map WindowResize Window.dimensions
更新动作模型=
案例诉讼
窗口调整尺寸->
{模型|基于维度的一些更改}
...
有没有一种方法可以在不使用端口的情况下获得相同的结果?

您可以使用软件包中的数据,根据输入信号的初始值检查模型的初始值


充分披露:我是该软件包的作者

因此,我可以看到这如何允许我访问传递给foldp'的第二个fn中的初始值。但我不确定我能用这个值做些什么,使它进入我的模型。一个小的代码示例将非常有用,因为我想我遗漏了一些东西…@JulianJelfs第二个函数允许您将初始值转换为模型的值。所以在这个函数中,你把初始值放入模型中,然后在阶跃函数中,你只需要像平常一样使用模型。