学习新东西总是遵循已经存在的东西。所以我重新配置这个例子(http://www.websharper.com/samples/KendoChart)工作正常。 (只有第12行的图表。我将系列保存到一些变量中,它看起来像这样。 所以第12行应该是。
let Chart chartType stack =
let data = [|
chart.SeriesConfiguration (
Name = "World",
Data = [|15.7 ; 16.7 ; 20. ; 23.5; 26.6|]
)
chart.SeriesConfiguration (
Name = "United States",
Data = [|67.96 ; 68.93 ; 75. ; 74. ; 78.|]
)
|]
数据在线36系列=数据......并且工作正常。 但是,如果我想要我的数据......
let Chart chartType stack =
let techs = StoneMiner.Charts.technologies()
let data = seq { for i in techs do
yield chart.SeriesConfiguration (
Name = fst i ,
Data =[|snd i|]//; 16.7 ; 20. ; 23.5; 26.6|]
) }
|> Seq.toArray
其中let techs = StoneMiner.Charts.technologies()是技术在另一个命名空间和模块......
我得到一些奇怪的错误...... 错误1无法转换方法调用:technologies(..)[StoneMiner.Charts]。因为它在另一个模块中。
答案 0 :(得分:4)
您的函数StomeMiner.Charts.technologies
似乎没有[<JavaScript>]
注释。这可以防止它被转换为JavaScript,从而在客户端使用。
根据经验,您在客户端使用的任何内容都需要使用IntelliFactory.WebSharper.Core.Attributes
中的一个属性进行注释(可以在打开IntelliFactory.WebSharper
时直接访问)。根据具体情况,它可以是[<JavaScript>]
(用于转换为JS),[<Inline "...">]
(内联一些JS代码),[<Remote>]
(用于对服务器的Ajax RPC调用)或不太常见像[<Stub>]
或[<Direct>]
。