在我的组件中,我具有以下内容:
@ViewChild('PaginatedTableComponent') userTable: PaginatedTableComponent;
在此组件中,我具有以下HTML:
<pag-paginated-table #userTable
[(shouldUpdate)]="shouldUpdate"
[route]="academyMembersRoute"
[dataStructure]="academyMembersdataStructure"
[adminActions]="adminActions"
[include]="academyMembersInclude">
</pag-paginated-table>
但是,userTable
变量是null
。
谁能告诉我我可能会想念什么?还是为什么会这样?
更新
因此,如果我在ngOnInit
中调用该函数,这表明变量已正确设置,这真的很奇怪。
但是,如果我等待并通过以下方式致电:
addUserClose() {
this.userTable.callRoute();
this.shouldUpdate = !this.shouldUpdate;
}
表示变量未定义。
答案 0 :(得分:1)
这可能是因为您在启动之前正在访问它。尝试以零超时在超时中访问它,或者在激发“ ngOnInit”功能之后或之后访问它。 谢谢
答案 1 :(得分:0)
您在@ViewChild('your_Variable')
内给出的内容用于html
#your_Variable
将您component.ts
更改为
@ViewChild('PaginatedTableComponent') userTable: PaginatedTableComponent;
然后将您component.html
更改为
<pag-paginated-table #PaginatedTableComponent
[(shouldUpdate)]="shouldUpdate"
[route]="academyMembersRoute"
[dataStructure]="academyMembersdataStructure"
[adminActions]="adminActions"
[include]="academyMembersInclude">
</pag-paginated-table>
答案 2 :(得分:0)
您尝试过吗:
setText()