Dom 从信号Int中获取Int值
我在将Dom 从信号Int中获取Int值,dom,elm,Dom,Elm,我在将Int值从窗口中取出时面临问题。维度的返回值-信号Int view : Signal.Address Action -> Model -> Html view address model = let wx = Signal.map fst Window.dimensions wy = Signal.map snd Window.dimensions in fromElement <| container wx wy middle <| to
Int
值从窗口中取出时面临问题。维度的返回值-信号Int
view : Signal.Address Action -> Model -> Html
view address model =
let wx = Signal.map fst Window.dimensions
wy = Signal.map snd Window.dimensions
in fromElement <| container wx wy middle <| toElement 100 100 <|
div []
[ button [ onClick address Decrement ] [text "-"]
]
Window.dimensions
是一个信号(Int,Int)
。使用fst
或snd
对其进行映射将为您提供一个信号Int
,您无法仅从中获取“值”
您的视图
中根本不应该有信号
。它应该只是在中获取一些状态并返回一些Html
。如果要制作与屏幕尺寸相同的容器
,最好让视图
函数获取宽度/高度,然后将视图函数映射到窗口。尺寸
。你可以举个例子。嘿,谢谢你,罗伯特。。但是我的主要方法代码基于StartApp.Start
,它接受模型、视图和更新
参数。您给出的图形示例不是基于mvc模式的。我想知道,即使我使用main=Signal.map
它也只会听那些窗口的信号,而不会听用户的点击……如果你想开始向你的视图传递更多参数,那么听起来你的程序可能已经长大了StartApp
:-P是时候写你自己的main
!哎呀。。那有点讽刺。。安威,我的想法是有一个额外的动作
作为调整大小
,就像递增
/递减
一样,并从视图函数内部从调整大小
触发动作……您可以将屏幕尺寸放入模型中,并以相同的方式触发更新递增
/递减
,但是在初始化模型以传递到StartApp.start
时,您必须猜测初始屏幕尺寸。因此,如果屏幕尺寸从未改变,视图将永远不会居中
Type mismatch between the following types on line 30, column 31 to 33:
Signal.Signal In
Int
It is related to the following expression:
wx