javascript - 未提供 HTMLScriptElement 的所有属性时的打字稿错误
问题描述
我正在将脚本附加到打字稿文件中的页面。
function getScript() {
return new Promise((resolve, reject) => {
const script: HTMLScriptElement = document.createElement('SCRIPT');
document.body.appendChild(script);
script.onload = resolve;
script.onerror = reject;
script.async = true;
script.src = './scripts/my-script.js';
});
}
Typescript 给了我以下错误,这是我之前在img
标签上遇到过的错误,除了错误表明我缺少很多很多属性。
Type 'HTMLElement' is missing the following properties from type 'HTMLScriptElement': async, charset, crossOrigin, defer, and 8 more.ts(2740)
我不想使用/指定脚本元素界面上可用的所有属性:我应该使用更通用的东西(什么?),还是完全省略界面?或者有没有办法使用界面,所以我得到了智能感知助手来自动完成,如果界面上不存在道具会警告我,但是当我不使用它们时保持沉默?
解决方案
更改SCRIPT
为script
和 TypeScript 将意识到createElement()
返回一个HTMLScriptElement
.
推荐阅读
- r - R - 生存:survfit.object(cumhaz =基线或居中?)
- html - 允许在 IE 中调整窗口大小
- r - 用条件 LOCF 估算 NA
- java - Kafka 消息过滤
- c# - 如何设置 IHttpClientAdapter.GetAsync 以返回具有 IsSuccessStatusCode 特定值的 HttpResponseMessage?
- python - 如何设置我的 if 语句变量与我的函数相同
- python-3.x - Sklearn 内核密度数据类型
- java - 用单个空格替换所有 2 个或更多空格序列的 Java 字符串方法
- angular - 前段时间在 ionic V4 中使用 Angular 管道
- sql - 将排序表分组为计数、总和、平均值的 5% 段