1

学习新事物总是追随已经存在的事物。所以我重新配置了这个例子(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 ​​无法翻译方法调用:技术(..)[StoneMiner.Charts]。因为它在另一个模块中。

4

1 回答 1

4

您的函数StomeMiner.Charts.technologies似乎没有[<JavaScript>]注释。这可以防止它被翻译成 JavaScript 并因此在客户端使用。

根据经验,您从客户端使用的任何内容都需要使用其中的一个属性进行注释IntelliFactory.WebSharper.Core.Attributes(当您打开时可以直接访问这些属性IntelliFactory.WebSharper)。视情况而定,它可以是[<JavaScript>](用于翻译成 JS)、[<Inline "...">](内联一些 JS 代码)、[<Remote>](用于对服务器的 Ajax RPC 调用)或不太常见的,如[<Stub>][<Direct>].

于 2012-09-13T13:50:49.133 回答