问题标签 [javascript-interop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
blazor - Blazor 服务器 JavaScript 调用数据传输
幸运的是,我们可以轻松地从 Blazor 服务器的 C# 代码调用 JavaScript 函数,请参阅此 MSDN 页面。JavaScript 代码将在客户端的浏览器上运行,C# 代码在服务器上运行,Blazor 的 SignalR 连接位于这两者之间。
但我要求澄清 SignalR 连接是否是负责在这两者之间来回传输函数的输入/输出值的连接。我能找到的唯一提示来自Chris Sainty 的博客:
您会注意到这两种方法都是异步的。这很重要,因为如果您希望您的代码在客户端和服务器端 Blazor 中工作,那么由于服务器端 Blazor 使用 SignalR 连接,所有 JS 互操作调用都必须是异步的。
不幸的是,我在 MSDN 页面上找不到有关如何传输值的确切信息。
在通过 JavaScript 运行时(例如使用 Firebase Firestore JavaScript 库)获取数据的情况下,如何传输数据可能很重要。如果需要将获取的数据发送回 Blazor 服务器以将所需的更改推送到 DOM,会不会有额外的往返行程?
blazor-webassembly - Blazor 未编组的 JavaScript 互操作
为了提高 Blazor JS 互操作调用的性能,可以使用同步和未编组的 api
我很难找到有关未编组的更多信息。
例如:
- Blazor.platform.* 函数在哪里定义?
- 应该使用哪一个来检索 ElementReference 类型的参数?
- 函数 readStringField 的第二个 int 参数是什么,应该如何使用?