0
我定义DU的各种类的支持我使用HTML中:F#3 WebSharper
type Class =
| Logo
| Screen
| Continue
现在不幸的是FSharpValue.GetUnionFields
不转化为JS(我不希望它)和压倒一切DU上的ToString使它转化为JS似乎也不起作用。因此,我定义了以下运营商应对来自DOM元素添加/删除类:
[<JavaScript>]
let getClassString = function
| Logo -> "logo"
| Screen -> "screen"
| Continue -> "continue"
[<JavaScript>]
let inline (|+>) (x : Element) (c : Class) = x.AddClass (getClassString c); x
[<JavaScript>]
let inline (|->) (x : Element) (c : Class) = x.RemoveClass (getClassString c)
,真正使之极乐:
[<JavaScript>]
let mainMenu =
Div [
H2 [Text "Jewel"; Br [] :> _; Text "Warrior"] |+> Logo
[
"Play", gameScreen
"HighScore", highScores
"About", notReady
"Exit", notReady
] |> Seq.map (fun (text, screen) -> LI [Button [Text text] |>! OnClick (fun _ _ -> show screen)])
|> UL |+> Menu
] |+> MainMenu |+> Screen
可能有人证实,F#类型的供应商将是一个很适合直接从CSS生成我的Class DU?
我们可以期待WebSharper与VS11 beta兼容还是仅仅在它发布时兼容?
谢谢!