4

我对如何从 WebSharper 客户端代码中找到如何访问 JavaScriptsthis关键字感到有点傻眼。

我试过这样的事情:

[<Inline "$this">]
let this() = X<obj>

但这在生成的 js 代码中吐出,$this似乎没有引用正确的范围对象。

感觉我不应该写任何额外的代码,它应该是 API 的一部分。

谢谢

4

1 回答 1

1

所以一般的想法是,在使用 WebSharper 时,您很少需要像使用传统站点那样导航 DOM。

拥有丰富的组合器可以在客户端创建标记,再加上 RPC 调用的简便性,有利于使用 javascript 在客户端创建所有内容的模式。

IE 您倾向于返回数据并反过来以交互方式生成标记,仅在需要创建书签位置和有用链接时才诉诸服务器端标记。

因此,您通常可以在创建 DOM 元素时保持对它们的引用,只需将它们绑定到变量以供以后使用。

在我的个人用例中,我想访问this,但后来意识到这this是对 Kendo 网格的引用,我在创建它时持有它的引用。因此,我不需要使用它。

除此之外,这种性质的 F#-to-javascript 编译器还存在不那么明显的技术限制。由于我不完全理解它们,因此在这里详述它们感到不舒服,但请随时通过上面的 fpish.net 链接查看 Anton 的答案。

于 2013-05-08T01:59:27.000 回答