javascript - 等待 Angular 5 中的 *ngIf 之后元素渲染?

标签 javascript angular typescript frontend

有没有办法在由于 *ngIf 启用 HTML 元素后等待其渲染?

StackBlitz准确地表达我的意思。

如果我只是切换元素上的 *ngIf 条件,则无法执行 document.getElementById('someid') 操作。元素渲染后是否有回调/方法来调用代码?

我只想在特定元素上调用它,所以我不能只使用 ngAfterViewChecked()。

最佳答案

您可以先将函数设置为 setTimeout 进行 html 渲染

if(this.render) {
  setTimeout( () => document.getElementById('someid').focus());
}

关于javascript - 等待 Angular 5 中的 *ngIf 之后元素渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49544750/

相关文章:

angularjs - Angular 升级指南。 (SystemJS) 意外的 token <

javascript - webpack 4.1.1 -> configuration.module 有一个未知的属性 'loaders' 。

angular - 订阅时不触发 rxjs pipeline tap/map

javascript - reactjs - 获取作为谷歌仅显示空白页面

javascript - 输入 HTML 表单中的电子邮件地址,然后“提交”按钮将打开包含输入地址的电子邮件客户端

javascript - 页面加载时的缓动效果

angular - 理解 TypeScript 中的问号、冒号和未定义

javascript - 使用node-couchdb查询数据库

angular - @angular/路由器 3.0.0-alpha.3 : How to migrate OnActivate

Angular 2 : How to use EventEmitter on components created during runtime?