angular - 获取在 html 中定义的 Dart 组件的实例
问题描述
在我的 AngularDart 应用程序中,我在 page.html 中定义了模板,这个模板的有趣部分是
<skawa-data-table [data]="selectableRowData" [selectable]="true" [colorOddRows]="true">
<skawa-data-table-col [accessor]="nameAccessor"
header="Nome"
class="text-column"
[skipFooter]="true">
</skawa-data-table-col>
<skawa-data-table-col [accessor]="rankAccessor"
header="Rank"
[skipFooter]="true">
</skawa-data-table-col>
</skawa-data-table>
在本节的末尾,我有一个必须操作上述组件的按钮列表,因此我需要访问 dataTable。问题如下:在我的 Dart 代码中,页面中没有任何数据表实例。怎么可能得到呢?我尝试使用[(ngModel)]
标签,但我认为我走错了方向。
解决方案
您要使用的是ViewChild
注释。
你有两种可能
使用组件类作为选择器
@ViewChild(SkawaDataTableComponent)
SkawaDataTableComponent table;
在您的组件上添加引用
<skawa-data-table #myDataTable>...</skawa-data-table>
@ViewChild('myDataTable')
SkawaDataTableComponent table;
如果您多次使用相同的组件,但您想选择一个特定的组件,则第二个很好。
您也可以直接在模板中使用它,无需ViewChild
<skawa-data-table #myDataTable>...</skawa-data-table>
<button (click)="myDataTable.doSomething()">
推荐阅读
- python - 检查路径在文件列表中是否有重复项?
- c# - C# 颜色不匹配,即使它相同
- jelastic - 如何将共享负载均衡器 http/https 端口指向我的 Jelastic Docker 容器的特定端口
- c# - C# Specflow - 需要功能和场景标题而不使用 FeatureContext 和 ScenarioContext
- loops - 没有核心转储的 FOR LOOP 打印值超过数组大小
- javascript - 在渲染之外响应访问和更新变量
- azure - 如何配置具有域级隐私的 Azure Blob 存储
- javascript - 上传图片文件后不显示div背景预览
- java - @Email 验证注释导致部署中的 NullPointerException
- java - JSoup:如何获取某个标签下的信息?