使用Angular 8,如何获得对在页面其余部分之后加载几秒钟的DOM元素的引用?

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

我正在使用Angular 8为客户端编写应用程序。该应用程序使用ESRI的云服务作为地址查找文本框(非常类似于Google所做的每个人都熟悉的文本框)。

这里是我似乎无法解决的问题。

当调用javascript时,ESRI通过在页面中插入文本框和其他代码来提供它自己的界面元素。我需要获取该元素的句柄,因为找到地址后它会引发一个事件,并且我需要能够响应该事件。

由于该元素是从Web上下载并“在事实之后”添加到页面的,因此文本框需要花费几秒钟的时间才能显示在页面上。需要多长时间取决于连接的速度等。

[当我执行“ document.getElementById()”调用时,它失败了,因为该元素尚不存在。我尝试将getElementById()调用放入AfterViewInit()中,但是在文本框出现之前仍然会发生这种情况。

是否有某种方法可以知道何时外部元素已加载并可以访问?

angular getelementbyid
2个回答
0
投票
您将不得不“探测”给定的元素,直到它在那里等待两次探查之间的一段时间。

0
投票
听起来像您需要ViewChild。如果ESRI生成一个ID为ESRIinput的文本框,则可以这样访问它:
© www.soinside.com 2019 - 2024. All rights reserved.