【问题标题】:Function undefined in blazorblazor 中未定义的函数
【发布时间】:2021-07-16 04:53:28
【问题描述】:

我将 Blazor WASM 与用于 Web API 的 JavaScript 结合使用。我有这个错误:

错误:找不到“AddDb”(“AddDb”未定义)。

JavaScript

export function AddDB() {
const DB_NAME = 'product';
const DB_VERSION = 1; // Use a long long for this value (don't use a float)
const DB_STORE_NAME = 'MHCproduct';

var db;

// Used to keep track of which view is displayed to avoid uselessly reloading it
var current_view_pub_key;

function openDb() {
    console.log("openDb ...");
    var req = indexedDB.open(DB_NAME, DB_VERSION);
  }
  }

剃刀页面

 <div class="row">
    <span class="cuscol-100" style="text-align:center;background-color:white">
        <button class="btn btn-primary" style="width:100%" @onclick="()=>StartDB(elementX)">Calculate</button>
    </span>
</div>

@code{
    string name = string.Empty;
    IJSObjectReference module;

    private ElementReference elementX;

    async Task StartDB(ElementReference element)
    {
        module = await JSRuntime.InvokeAsync<IJSObjectReference>("import", "./js/JavaScript.js");
        await module.InvokeVoidAsync("AddDb", element);
        Console.WriteLine("Berjaya");

    }
}

【问题讨论】:

    标签: javascript asp.net-core blazor


    【解决方案1】:

    已经很久没有使用 JSInterop 了,但是有没有可能是因为你输入了一个参数,即使 JS 函数不需要一个参数而发生错误? 目前无法检查,但可能会将 await module.InvokeVoidAsync("AddDb", element); 更改为 await module.InvokeVoidAsync("AddDb");

    其他可能的解决方案:您是否在 index.html 文件中添加了&lt;script src="xyz.js"&gt;&lt;/script&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-09
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 2014-10-01
      相关资源
      最近更新 更多