我对如何从 WebSharper 客户端代码中找到如何访问 JavaScriptsthis
关键字感到有点傻眼。
我试过这样的事情:
[<Inline "$this">]
let this() = X<obj>
但这在生成的 js 代码中吐出,$this
似乎没有引用正确的范围对象。
感觉我不应该写任何额外的代码,它应该是 API 的一部分。
谢谢
我对如何从 WebSharper 客户端代码中找到如何访问 JavaScriptsthis
关键字感到有点傻眼。
我试过这样的事情:
[<Inline "$this">]
let this() = X<obj>
但这在生成的 js 代码中吐出,$this
似乎没有引用正确的范围对象。
感觉我不应该写任何额外的代码,它应该是 API 的一部分。
谢谢
所以一般的想法是,在使用 WebSharper 时,您很少需要像使用传统站点那样导航 DOM。
拥有丰富的组合器可以在客户端创建标记,再加上 RPC 调用的简便性,有利于使用 javascript 在客户端创建所有内容的模式。
IE 您倾向于返回数据并反过来以交互方式生成标记,仅在需要创建书签位置和有用链接时才诉诸服务器端标记。
因此,您通常可以在创建 DOM 元素时保持对它们的引用,只需将它们绑定到变量以供以后使用。
在我的个人用例中,我想访问this
,但后来意识到这this
是对 Kendo 网格的引用,我在创建它时持有它的引用。因此,我不需要使用它。
除此之外,这种性质的 F#-to-javascript 编译器还存在不那么明显的技术限制。由于我不完全理解它们,因此在这里详述它们感到不舒服,但请随时通过上面的 fpish.net 链接查看 Anton 的答案。