3 回答
TA贡献1880条经验 获得超4个赞
通过注入 DocumenttableData 是否存在> 将令牌放入构造函数中。接下来,使用普通的旧 JavaScript 通过 id 查找元素。视图加载后,检查它是否存在,如下所示:
import { Inject } from "@angular/core";
import { DOCUMENT } from "@angular/common";
constructor(@Inject(DOCUMENT) document) {
}
ngAfterViewInit() {
if (document.getElementById('tableData')) {
// success scenario
} else {
// failure
}
}
ngOnInit() {
generateTableDataAfterDOMIsReady('#container');
}
将 generateTableDataAfterDOMIsReady('#container');
的调用移至 ngOnInit 而不是 ngAfterViewInit 中。
@ViewChild
会更好,但仅当标记的 id 指定为 #id
时才有效。
TA贡献1805条经验 获得超10个赞
最简单的方法是设置一个标志
ngAfterViewInit() {
//Run a library that will populate the table, for example
//This will create an element with an id tableData
generateTableDataAfterDOMIsReady('#container');
this.pseudoIsTableDataExists=true
}
和
<div *ngIf="pseudoIsTableDataExists">Data has been generated</div>
TA贡献1856条经验 获得超17个赞
简单地说,您可以绑定hidden 属性。
超文本标记语言
<div [hidden]="!isTableDataExists">
Data has been generated
</div>
成分
ngAfterViewInit() {
//Run a library that will populate the table, for example
//This will create an element with an id tableData
generateTableDataAfterDOMIsReady('#container');
this.isTableDataExists = true;
}
- 3 回答
- 0 关注
- 113 浏览
添加回答
举报