模具@Element找不到子节点

时间:2019-01-02 16:22:23

标签: stenciljs

我有一个Web组件,试图通过@Element属性选择一个子节点:

export class StepupVerification { @Prop() token: string = 'test'; @State() url: string = `http://localhost:8080/?fail=${this.token}`; @Element() private element: HTMLElement; ...

但是,当我知道元素存在时,我在该项目上使用的查询选择器将返回零个孩子。我知道,因为我可以使用文档外的相同选择器找到它。

这是我正在使用的选择器: this.element.querySelectorAll('.stepup-frame'); 如我所说,它返回零个元素。但是当我使用时: document.querySelectorAll('.stepup-frame'); 我发现该元素很好。

TL; DR:元素上的querySelector对于我的Web组件而言无法正常工作,我不确定为什么。

1 个答案:

答案 0 :(得分:1)

我真的很想使用ref功能来获取对嵌入式元素的引用。

我能够在我的组件中添加一个private myElement: HTMLElement变量,然后在我的代码中通过this.myElement对其进行引用。