blazor - 如何在 blazor webassembly 中运行捆绑 javascript 文件?

标签 blazor blazor-client-side interopservices asp.net-blazor blazor-jsinterop

我将捆绑的脚本文件保存在 blazor_wasm 应用程序的 wwwroot 文件夹中。

  1. 我在 index.html 中使用脚本标签添加了文件
    <script src="assets/plugins/global/plugins.bundle.js"></script>

    <script src="assets/js/scripts.bundle.js"></script>
  1. 我已将 scripts.bundle.js 代码放入函数调用JS

    function callJS() {/** 捆绑 js**/}

  2. 我在 razor 页面中使用 js interops 调用了该函数,但这会出错

    protected override async Task OnAfterRenderAsync(bool firstRender){
        if (firstRender)
        {
            await jsRuntime.InvokeVoidAsync("callJS");
        }
     }
    

这些是错误

The return type of an async method must be void, Task, Task, a
task-like type, IAsyncEnumerable, or IAsyncEnumerator wasm_app

'Index.OnAfterRenderAsync(bool)': return type must be 'Task' to match overridden member 'ComponentBase.OnAfterRenderAsync(bool)' wasm_app

这是运行文件的正确方法还是我必须使用另一个生命周期事件? 我正在使用 keen bootstrap 主题,它使用 webpack 生成捆绑的 js 和 css 文件。

最佳答案

答案很简单,我们只需将 js 互操作代码放在 MainLayout.razor 页面中即可。我就是这样解决的

关于blazor - 如何在 blazor webassembly 中运行捆绑 javascript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61630354/

相关文章:

razor - 了解 Blazor 属性语法

c# - 如何在 C# 中引用 .inl 和 .h 文件

c# - AuthorizeRouteView Authorizing 和 NotAuthorized 参数设置

c# - 如何在 ASP.NET Core 5 Blazor 服务器模式下要求通过重定向登录进行身份验证

asp.net-core - 连接到本地 Identity Server 4 的新 Blazor 项目

javascript - 带有 <NavLink> 的 Blazor 子菜单

c# - Blazor 添加 HttpClientHandler 以将 Jwt 添加到请求的 HTTP header

firebase - C# Blazor WASM | Firestore : Receiving Mixed Content error when using Google. Cloud.Firestore.FirestoreDb.CreateAsync

c# - msdn 所说的 "WinApi"是 user32.dll 吗?

c# - 什么是 IExpando,它用在什么地方?