如何参考当地的JS模块在Blazor组件?

0

的问题

在Dotnetconf两周前,我听到现在可以包括当地Javascript文件在Blazor组成。 这听起来很有趣。 我猜这方法仍然使用JSIniterop和参考的模块的文件。

但是你怎么参考JS文件? 我已经尝试了所有可能的创造性的变体,但迄今没有成功。

我很惊讶谷歌但是找不到任何指导或样本,但这一点。 所有的提示赞赏。

blazor components interop javascript
2021-11-19 15:22:16
1

最好的答案

1

你可以创建。js码文件的下一步。剃刀。cs文件和载于文件在运行时间。 这是描述的 在这里. 我也发现呈现的这一特征 在这里 ,想回购 这里.

让我们来说,你有 ComponentAComponentA.razor, ComponentA.razor.csComponentA.razor.js 文件在 Pages 文件夹。 你可以载入这个模块组成的初始化,像这样:

[Inject]
public IJSRuntime JS { get; set; }

private IJSObjectReference module { get; set; }

protected override async Task OnInitializedAsync()
{
    module = await JS.InvokeAsync<IJSObjectReference>("import", "./Pages/ComponentA.razor.js");
}

但如果您的组件被定义一个组成部分图书馆项目,那么你必须使用不同的文件的道路。 例如,如果项目名为 AppComponents 然后这条道路将是 ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

我跟着你的样品,但仍然得到同样的例外。 也许这是不可能从定义成分的其他文件夹页? 错误:Microsoft。JSInterop.JSException:未能取动态的进口的模块: localhost:5000/_content/项目名称/组件/公共/...
Jakob Lithner

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................