样式加载事件后点亮元素阴影根

问题描述 投票:0回答:1

我有一个问题,在将CSS样式加载到我的组件后,我需要处理事件。我试图使用照明元素生命周期,但仍然被炒得很早。我正在尝试获取DOM元素的起始位置和其他数据,但是我获得了初始位置,在加载样式后此位置会发生变化?如何使样式首先加载,或在样式加载后发生任何事件?

javascript web-component shadow-dom lit-element lit-html
1个回答
0
投票

firstUpdated生命周期通常是您要寻找的:

在元素的DOM首次更新后,即在调用更新之前立即调用。创建元素模板后,请实施firstUpdated以执行一次性工作。

如果即使在触发firstUpdated之后您的元素仍在加载,您可以等待另一个周期以确保安全:

setTimeout(() => { /* code for checking DOM styles */ }, timeInMilliseconds);

timeInMilliseconds可能只需要为0,但是您可能需要给它更多的时间,因为您的样式在典型样式之外发生了变化。如果您有任何可能会影响元素显示的CSS animationtransition,也可能是这种情况。

如果以上所有方法看起来都正确,我建议在lit-element github page上打开一个问题,因为它仍在积极地做出贡献。

© www.soinside.com 2019 - 2024. All rights reserved.