我在查询父组件中的子组件的指令时面临问题 . 表组件使用scrollableView指令 . 和表组件用于我的报告摘要组件 . 在reportSummary组件中我试图使用@ViewChild查找scrollbaleView指令的实例 . 我能够使用@ViewChild(DataTable)表找到表组件:DataTable;同样,我应该能够找到@ViewChild(ScrollableView)scrollview:ScrollableView;但它没有ViewChild文档说明这个https://angular.io/api/core/ViewChild您可以使用ViewChild来获取第一个元素或与视图DOM中的选择器匹配的指令 . 如果视图DOM更改并且新子项与选择器匹配,则将更新该属性 . 在调用ngAfterViewInit回调之前设置视图查询 .
有趣的是,在ngAfterViewInit函数中找不到表引用,我可以在其他地方获取值 . 但是在任何时间点都找不到scrollableView .
预期的行为
scrollableView也应该被查询和可用 .
1 回答
如果查看
p-dataTable
组件的模板,如果p-dataTable
是scrollable
,您将看到pScrollableView
仅加载到DOM .datatable.ts
因此,您必须定义DataTable,以便它使用ScrollableView,否则它将不在DOM中 .