【发布时间】:2019-10-30 09:30:10
【问题描述】:
我正在尝试使用 JSinterop 从我的 Blazor 组件调用 javascript 函数,但我总是收到此错误:
“未捕获的语法错误:输入意外结束”。
另外,当页面完全加载时会自动调用 javascript 函数,这不是所需的行为,因为我想在单击按钮时触发该函数。
@page "/jsInterop"
@inject IJSRuntime jsRuntime
<h3>JSinterop</h3>
<button type="button" class="btn btn-primary"
onclick="@setLocalStorage()">
Trigger JavaScript Prompt
</button>
@code{
public object setLocalStorage()
{
return jsRuntime.InvokeAsync<object>("interop.setItem", "username",
"Aymen");
}
}
window.interop = {
setItem: function (name, value) {
window.localStorage[name] = value;
return value;
},
};
【问题讨论】:
-
可能会删除函数调用
setLocalStorage的括号 -onclick="@setLocalStorage"会起作用。 -
嗨@randomSoul,它不起作用,它引发和错误,它说:无法将方法组转换为无委托类型“对象”。
标签: javascript c# blazor javascript-interop