kendoui websharper并且无法从另一个模型访问方法

时间:2012-09-08 15:11:39

标签: f# websharper

学习新东西总是遵循已经存在的东西。所以我重新配置这个例子(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]。因为它在另一个模块中。

1 个答案:

答案 0 :(得分:4)

您的函数StomeMiner.Charts.technologies似乎没有[<JavaScript>]注释。这可以防止它被转换为JavaScript,从而在客户端使用。

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