问题描述
我知道如何实现JavaScript isolation in Blazor components。
// Use the module Syntax to export the function
export function sayHi(name) {
alert(`hello ${name}!`);
}
和
private Task<IJSObjectReference> _module;
private Task<IJSObjectReference> Module => _module ??= JSRuntime.InvokeAsync<IJSObjectReference>("import","./js/demo.js").AsTask();
async Task Submit()
{
var module = await Module;
await module.InvokeVoidAsync("sayHi",name);
}
但是如何在Blazor组件中实现隔离的 TypeScript 连接,以调用在 TypeScript 文件中定义的“ sayHi”函数?
问题是,如果我从TypeScript模块中导出函数,如下所示:
export function sayHi(name) {
alert(`hello ${name}!`);
}
然后将其编译为以下没有“导出”的javascript:
"use strict";
Object.defineProperty(exports,"__esModule",{ value: true });
exports.sayHi = void 0;
function sayHi(name) {
alert("hello " + name + "!");
}
exports.sayHi = sayHi;
//# sourceMappingURL=say.js.map
这就是为什么我有这个问题。如何在Blazor组件中实现隔离的 TypeScript 连接,以调用在 TypeScript 文件中定义的“ sayHi”函数?
答案:将CompilerOptions中的模块设置为ES2015或ESNext
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)