3

我将捆绑的脚本文件保存在 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 代码放入函数 callJS

    function callJS() {/** bundled js**/}

  2. 我在剃须刀页面中使用 js interops 调用了该函数,但这给出了错误

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

这些是错误

异步方法的返回类型必须是 void、Task、Task、类似
任务的类型、IAsyncEnumerable 或 IAsyncEnumerator wasm_app

'Index.OnAfterRenderAsync(bool)':返回类型必须是 'Task' 以匹配被覆盖的成员 'ComponentBase.OnAfterRenderAsync(bool)' wasm_app

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

4

1 回答 1

4

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

于 2020-05-07T16:39:44.830 回答