类型“HTMLElement | null”的参数不能赋给类型“HTMLElement”的参数。 不能将类型“null”分配给类型“HTMLElement”。
时间: 2023-11-15 12:04:21 浏览: 99
js判断浏览器类型,版本的代码(附多个实例代码)
这个错误是因为 TypeScript 不确定 `document.getElementById` 方法返回的结果是否为 `null`,因此需要我们自己判断并处理这种情况。
可以使用非空断言操作符 `!` 来告诉 TypeScript,我们确定这个结果不会是 `null`。代码示例如下:
```typescript
const refreshInfoElement = document.getElementById('refresh-info')!;
```
这样做的前提是我们确定 `refresh-info` 这个元素一定会存在于 HTML 中。如果不能确定,可以使用可选链操作符 `?.` 来避免这个错误:
```typescript
const refreshInfoElement = document.getElementById('refresh-info');
if (refreshInfoElement) {
const refreshInfo = new RefreshInfo(refreshInfoElement);
refreshInfo.refresh();
window.onbeforeunload = () => {
refreshInfo.refresh();
};
}
```
这样做的好处是可以避免 `null` 引用错误,但需要在代码中加入判断逻辑,稍微复杂一些。
阅读全文