当前位置: 首页 > news >正文

网站备案会掉吗不错的网站建设

网站备案会掉吗,不错的网站建设,乐清网站建设服务,wordpress 图片库预览页面在angular中,MatTable构建简单,使用范围广。但某些时候会出现卡顿 卡顿情景: 1:一次性请求太多的数据 2:一次性渲染太多数据,这会花费CPU很多时间 3:行内嵌套复杂的元素 4:使用过多的…

在angular中,MatTable构建简单,使用范围广。但某些时候会出现卡顿

卡顿情景:

1一次性请求太多的数据

2一次性渲染太多数据,这会花费CPU很多时间

3行内嵌套复杂的元素

4使用过多的ngStyle或者ngClass。或者一些额外的class

        import { MatTableDataSource } from '@angular/material/table';    
...const data: IDemoRow[] = [];for (let i = 0; i < 8000; i++) {data.push({studentId: `studentId-${i + 1}`,name: `name-${i}`,className: `className-${i}`,age: i,address: `address-${i}`,studySubjects: ['studySubjects-1','studySubjects-2','studySubjects-3','studySubjects-4','studySubjects-5','studySubjects-6',],grade: 4});}this.dataSource = new MatTableDataSource(data);

第一次渲染会卡顿,拖动滚动条时会出现空白现象。

提升办法:

1分页

使用MatPaginator对数据进行分页

    import { MatPaginator } from '@angular/material/paginator';
...@ViewChild(MatPaginator) paginator: MatPaginator;
...ngAfterViewInit() {this.dataSource.paginator = this.paginator;}
<table mat-table [dataSource]="dataSource">...
</table>
<mat-paginator[pageSizeOptions]="[13, 50, 200]"showFirstLastButtons>
</mat-paginator>

效果如下:

2:尽可能少用或不用ngStyle和 ngClass。无效的css及时清理。ngStyle不仅导致性能问题。还会使样式无法被覆盖。因此要慎用

// less
.grade-background {background: #a1bcd6;
}
.grade-color {color: #37474f;
}// html
<table mat-table [dataSource]="dataSource">...<ng-container matColumnDef="grade"><th mat-header-cell *matHeaderCellDef class="class-unnecessary"> Grade </th><td mat-cell *matCellDef="let element"class="table-cell grade-color class-unnecessary-test"[ngClass]="{'grade-background' : element.grade === 3}"[ngStyle]="{'color': '#DB5C5C'}">{{element.grade}}</td></ng-container>...
</table>

第一次渲染会卡顿,且ngStyle的值未被覆盖

3:使用trackBy,trackBy是angular提供的函数,来告诉angular怎么跟踪数组里的项目。这会减少不必要的DOM的删除和重建

trackByFunction(index: number, row: IDemoRow): string {return row.studentId;
}<table mat-table [dataSource]="dataSource"[trackBy]="trackByFunction">...
</table>
<mat-paginator[pageSizeOptions]="[13, 50, 200]"showFirstLastButtons>
</mat-paginator>

4:但是对于更复杂的表的使用,比如分组管理数据。打开或者关闭某个组的时候,还要操作DOM,那么在以上几种方法的基础上可能还会卡顿

这时候需要利用interval分批操作DOM,能减少卡顿问题

intervalH = window.setInterval(() => {...if (...) {window.clearInterval(intervalH);intervalH = undefined;}...
}, interval);

以上就是几种常用的优化方法。

http://www.yayakq.cn/news/312413/

相关文章:

  • 河北中凯建设有限公司网站wordpress 翻译制作
  • 成都思乐网站建设专业网站设计速寻亿企邦
  • 网站设计网站设计网站设计wordpress 发邮件函数
  • 商城网站建设服务器对网站二次开发的认识
  • 湘潭做网站 z磐石网络做导航网站赚钱
  • iis7搭建asp网站wordpress 响应速度慢
  • 河南建设监理协会新网站厦门建设银行招聘网站
  • 快速创建网站wordpress 站中站
  • 济南住宅与房地产信息网官方网站淘宝网页设计尺寸
  • 免费建视频网站模仿网站建设站建设
  • 企业网站开发公司有哪些西宁做网站的工作室
  • 为什么我自己做的网站百度不到给国外网站做流量
  • 国际网站建设与维护wordpress 新建模板文件夹
  • 成都城乡建设局官方网站网站顶部地图代码怎么做
  • 站长工具是什么意思深圳市网页制作
  • 怎么做国外游戏下载网站wordpress小程序模板
  • 学校网站框架seo的中文含义是什么
  • 网站建设网页设wordpress主题授权加密
  • 免费云服务器主机优化方案
  • 怎样做可以连接服务器的网站车票制作图片的软件
  • 网站底部导航代码站长之家怎么用
  • 好上手的做海报网站宁波seo首页优化平台
  • 要想做一个好网站需要多久做信息流推广需要建立网站么
  • 合肥网站建设哪里有免费创立网站
  • 石家庄城乡建设部网站首页企业网站优化搜行者seo
  • 电子商务网站开发问题研究受欢迎的做pc端网站
  • 网站备案接入ip网站ome系统怎么做
  • wordpress 总浏览数量深圳网站seo服务
  • 专门做汽车配件的外贸网站wordpress数据连接失败1223
  • 学院网站建设进度情况说明书云服务器wordpress如何上线