问题标签 [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.

0 投票
1 回答
99 浏览

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,会不会有额外的往返行程?

0 投票
1 回答
25 浏览

blazor-webassembly - Blazor 未编组的 JavaScript 互操作

为了提高 Blazor JS 互操作调用的性能,可以使用同步和未编组的 api

我很难找到有关未编组的更多信息。

例如:

  1. Blazor.platform.* 函数在哪里定义?
  2. 应该使用哪一个来检索 ElementReference 类型的参数?
  3. 函数 readStringField 的第二个 int 参数是什么,应该如何使用?