Gil*_*ain 3 hammer.js angular-material angular
我正在使用 Material Design 开发一个 Angular 应用程序。最近我在我的一个页面中发现了内存泄漏。每次加载此页面时,都会花费越来越多的时间来初始化/渲染。
此页面包含一个材料表mat-table
(15 列 x 100 行),mat-tooltip
每个单元格上都有一个材料工具提示。经过一番研究,我了解到内存泄漏是由于工具提示(而不是表格)造成的。
Github 上的一篇文章建议删除 HammerJS 作为修复,请参阅:https : //github.com/angular/material2/issues/4499。
现在内存不再泄漏,我仍然收到以下 2 个警告:
找不到 HammerJS。某些 Angular Material 组件可能无法正常工作。
Hammer.js 未加载,无法绑定 'longpress' 事件。
那么如何告诉 Angular-Material 我对触摸手势不感兴趣,因此我对 HammerJS 不感兴趣?
框架版本:
我知道这是一个老问题,但对于任何来这里寻求答案的人,我在此 GitHub链接上找到了解决方案
我将此添加到我的 app.module.ts
import { HAMMER_LOADER } from '@angular/platform-browser';
providers: [{
provide: HAMMER_LOADER,
useValue: () => new Promise(() => {})
}]
Run Code Online (Sandbox Code Playgroud)
至于单元测试,我单独添加到每个测试类。
编辑(推荐)
这是答案的更好解决方案
安装hammerjs
模块
npm 安装hammerjs --save
然后将以下行添加到您的 polyfills.ts
导入 'hammerjs/hammer';
归档时间: |
|
查看次数: |
3812 次 |
最近记录: |