【发布时间】:2020-02-13 13:42:49
【问题描述】:
我是 .NetCore Blazor 的新手,正在尝试将 ExampleJsInterop JavaScript 代码转换为 TypeScript。
我在转换下面的代码时遇到问题:
window.exampleJsFunctions = {
showPrompt: function (text) {
return prompt(text, 'Type your name here');
},
displayWelcome: function (welcomeMessage) {
document.getElementById('welcome').innerText = welcomeMessage;
},
returnArrayAsyncJs: function () {
DotNet.invokeMethodAsync('BlazorSample', 'ReturnArrayAsync')
.then(data => {
data.push(4);
console.log(data);
});
},
sayHello: function (dotnetHelper) {
return dotnetHelper.invokeMethodAsync('SayHello')
.then(r => console.log(r));
}
};
嗯,当然,转换前两个函数和最后一个是没有问题的,但是我不能转换第三个函数,因为DotNet 在 TypeScript 上无效:
returnArrayAsyncJs: function () {
DotNet.invokeMethodAsync('BlazorSample', 'ReturnArrayAsync')
.then(data => {
data.push(4);
console.log(data);
});
}
我的问题首先是,如何将这个JS 函数转换为TS。如果有人帮助我了解这个DotNet 的来源,那也会很有帮助。
提前致谢。
【问题讨论】:
-
作弊方法:添加“declare var DotNet: any;”没有 ts 文件顶部的引号。否则,通常会找到明确类型的定义,但我不确定这些是否存在用于 blazor。
标签: javascript typescript asp.net-core blazor