角度HTML类型推断并没有像我想要的那样工作



内部角度组件我想通过id或类获取div元素

这很有效

menuDisplayDiv  = document.getElementsByClassName("some_class")[0] as HTMLDivElement;
menuDisplayDiv  = document.getElementById("some_Id") as HTMLDivElement;
menuDisplayDiv  = document.getElementsByClassName("some_class")[0] as HTMLDElement;
menuDisplayDiv  = document.getElementById("some_Id") as HTMLElement;
menuDisplayDiv: HTMLElement  = document.getElementById("some_Id");

这不起作用

menuDisplayDiv: HTMLDivElement = document.getElementsByClassName("some_class")[0]; 
menuDisplayDiv: HTMLElement  = document.getElementsByClassName("some_class")[0];    
menuDisplayDiv: HTMLDivElement = document.getElementById("some_Id");

src/app/action button plugin/action button plugin.component.ts:62:11中存在错误-错误TS2741:类型"HTMLElement"中缺少属性"align",但类型"HTMLDivElement"中需要该属性。

62       let menuDisplayDiv: HTMLDivElement  = document.getElementById("menu01") ;
~~~~~~~~~~~~~~
../node_modules/typescript/lib/lib.dom.d.ts:6546:5
6546     align: string;
~~~~~
'align' is declared here.

或显示

src/app/action button plugin/action button plugin.component.ts:63:11-ERROR TS2740:类型"Element"缺少类型"HTMLDivElement"中的以下属性:align、accessKey、accessKeyLabel、autocapitalize和107更多。

请有人解释,谢谢你提前

对于此语句:

menuDisplayDiv  = document.getElementsByClassName("some_class")[0] as HTMLDivElement;

在右手边,你正在进行类型铸造,因此它正在工作。

对于本声明:

menuDisplayDiv: HTMLDivElement = document.getElementsByClassName("some_class")[0];

左边的变量类型被指定为HTMLDivElement,而右边的值如果是更通用的类型,则会给你一个错误。

相关内容

  • 没有找到相关文章

最新更新