我很好奇是否可以从组件模板中获取元素属性。所以我用类制作了简单的 div 并制作了这个类:
export class viewApp{
elementView: any;
viewHeight: number;
myDOM: Object;
constructor() {
this.myDOM = new BrowserDomAdapter();
}
clickMe(){
this.elementView = this.myDOM.query('div.view-main-screen');
this.viewHeight = this.myDOM.getStyle(this.elementView, 'height');
}
}
getStyle()
, query()
来自 BrowserDomAdapter 。我的问题是当我尝试获得高度时它是 null
,但是当我通过 setStyle()
设置一些高度然后我通过 getStyle()
它返回正确的值.在浏览器中检查 DOM 和样式后,我发现这是因为两个 CSS 元素。一个是: .view-main-screen[_ngcontent-aer-1]{}
第二个是 element{}
。 .view-main-screen
有一些样式,但元素是空的。当我通过 setStyle()
添加样式时,它出现在 element{}
中。这是为什么?如何使用 Angular2 获取元素属性?
原文由 Arth 发布,翻译遵循 CC BY-SA 4.0 许可协议
元素的高度是 {{ getElementHeight.offsetHeight }}