F# フィールド アクセスが単純な JS フィールド アクセスに変換されるように、単純な JS オブジェクトに変換される型が必要です (これは、オブジェクトが を介して送信されるpostMessage
ため、すべてのメソッドが失われるため必要です)。
繰り返しますが、必要です
let x = a.b
に翻訳される
var x = a.b;
メソッド呼び出しなし。
F# リファレンスから少し変更した例を次に示します。
namespace T
open IntelliFactory.WebSharper
[<JavaScript>]
module A =
type MyClass =
val a : int
val b : int
new(a0, b0) = { a = a0; b = b0; }
let myClassObj = new MyClass(35, 22)
let x = myClassObj.b
これは翻訳されません
x: エラー: プロパティ アクセスの変換に失敗しました: b.'
val
では、これらの sを変更可能にしましょう。
namespace T
open IntelliFactory.WebSharper
[<JavaScript>]
module A =
type MyClass =
val mutable a : int
val mutable b : int
new(a0, b0) = { a = a0; b = b0; }
let myClassObj = new MyClass(35, 22)
let x = myClassObj.b
これは正常に翻訳されMyClass.New
ますが、空のオブジェクトが返されます。質問はバグレポートのように見え始めますよね? では、質問に戻ります。
私が望むものを達成する他の方法はありますか?