javascript - svg“textLength”不适用于角度 7
问题描述
const textElement = document.getElementById("id123");
if(textElement && textElement.textLength.baseVal.value){
return Math.floor((node.width - textElement.textLength.baseVal.value) /2)
}
textElement.textLength
我在角度 7 中执行此操作时显示错误。
错误是:
“HTMLElement”类型上不存在属性“textLength”。
解决方案
打字稿是类型安全的。所以 document.getElementById() 返回不包含 value 属性的 HTMLElement 类型。然而,子类型 HTMLInputElement 确实包含 value 属性。
因此,一种解决方案是将 getElementById() 的结果转换为 HTMLInputElement ,如下所示:
var temp = (<HTMLInputElement>document.getElementById("id123"));
<> 是打字稿中的强制转换运算符。请参阅问题 TypeScript:casting HTMLElement。
上面一行生成的 javascript 如下所示:
temp = (document.getElementById("id123"));
推荐阅读
- docker - 使用 docker-compose 在 Dockerfile 中运行 echo 失败
- android - BindingAdapter doesn't work with DataBinding
- hyperledger-fabric - 创建频道时出现此错误?
- java - mXParser 导数给出 NAN
- responsive - Firefox 开发者版 (63) 在响应模式下检查元素时不再显示 css 规则
- java - 如何在Java中找到图像的阈值?
- vba - VBA:如何在复制格式和公式的表中创建新行
- javascript - 点击关闭菜单 - 多个实例
- elasticsearch - Is there bulk partial update in elasticsearch?
- node.js - 在服务器上部署 MEAN 堆栈