angular - ngAfterContentChecked 和 ngAfterViewChecked 在第二个事件之后才显示正确的值
问题描述
我有 angular 2 代码,它显示一个带有多个字段的网格,每个字段都有一个过滤器。我想显示运行过滤器时返回的项目数。我通过计算屏幕上当前的行数来做到这一点,并在它发生变化时使用 ngAfterViewChecked() 来获取该数字。我面临的问题,正确的数字仅在第二个事件发生后显示。例如,在下图中,过滤器返回了 1 个项目,但它显示“总共显示 13 个用户中的 11 个用户”。但是,如果我单击鼠标或按下将其更改为“总共显示 13 个用户”的键。我也尝试过使用 ngAfterContentChecked()
ngAfterViewChecked() : void {
this.numOfUsersOnPage = document.getElementsByClassName("ui-datatable-even").length;
this.changeDetection.detectChanges();
}
<div class="grid-padding">
<span *ngIf="showNumOfUser"> Showing {{numOfUsersOnPage}} users of {{totalNumOfUsers}} in total </span>
</div>
解决方案
推荐阅读
- python - Python - 使用 Tkinter 的对象没有属性错误
- sql - 为什么“ORDER BY”可以在执行时使用不存在的列?
- reactjs - 使用 GraphQL 按字符串查询 Wordpress 帖子
- datasource - 如果 --mixed-- 类型的数据源之一关闭,则 Grafana 仪表板无法加载
- html - WebAIM 对比度检查器报告错误,但手动 WAVE 对比度检查通过就好了
- python - 用邻接矩阵表示图
- python - 如何在 Windows 上删除超过 14 天的文件
- python - 实例化列表类型之间的关系
- javascript - 查找两个日期 JSON 之间的时间
- excel - 如果“B1”>“B2”,则连续自动刷新一些查询,但每 2 分钟自动刷新所有查询