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 行目にある場合 Series = data... で、正常に動作します。しかし、データを次のようにしたい場合はどうすればよいですか...

 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]。それは別のモジュールにあるからです。

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 に答える