在我的组成部分中,我有以下内容:
@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;
}它说变量是未定义的。
发布于 2018-07-18 09:29:57
这可能是因为在启动之前您正在访问它。尝试用零超时在超时中访问它,或者在“ngOnInit”函数被触发之后访问它。谢谢
发布于 2018-07-18 09:28:17
你试过:
@ViewChild('userTable') userTable: PaginatedTableComponent; // NOT @ViewChild('PaginatedTableComponent') 发布于 2018-07-18 09:27:56
您在@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>https://stackoverflow.com/questions/51398044
复制相似问题