我刚刚开始使用WebSharper,我正在尝试使用Google Maps API。我一直在尝试从下面实现示例代码:https://github.com/intellifactory/WebSharper.Google.Maps
open IntelliFactory.WebSharper.Google
[<JavaScript>]
let Sample buildMap =
Div [Attr.Style "padding-bottom:20px; width:500px; height:300px;"]
|>! OnAfterRender (fun mapElement ->
let center = new Maps.LatLng(37.4419, -122.1419)
let options = new Maps.MapOptions(center, MapTypeId.ROADMAP, 8)
let map = new Maps.Map(mapElement.Dom, options)
buildMap map)
但是我无法找到OnAfterRender方法所在的位置。我相信我已经打开了所有必需的命名空间,但没有提到它。
一个便宜的第二个问题,是否有与WebSharper应用程序一起使用的最佳数据库,或者它没有任何区别? Appharbor让我可以选择:RavenDB,Microsoft SQL Server,MySQL,ElephantSQL,JustOneBD和MongoDB。我的db经验非常少,而且我只需要一个非常简单的flatfile db。
答案 0 :(得分:2)
OnAfterRender
在IntelliFactory.WebSharper.Html.Operators
中定义(从here可以看出)。打开IntelliFactory.WebSharper.Html
就足够了(因为Operators
标有[<AutoOpen>]
)。
关于数据库,这里没有什么重要的。在做出决定之前,您应确保拥有的是:
.Net界面(通常存在,特别是如果AppHarbor提供该数据库)
一个生成F#-usable类的好ORM。 “F#-usable”的定义当然是主观的,但要确保这些类符合您的编码风格,否则您将不得不在ORM类中编写自己的ORM或自己的包装。