[英]Remove HammerJS from a Angular-Material project
我正在使用 Material Design 開發一個 Angular 應用程序。 最近我在我的一個頁面中發現了內存泄漏。 每次加載此頁面時,都會花費越來越多的時間來初始化/渲染。
此頁面包含一個 Material 表格mat-table
(15 列 x 100 行),每個單元格上都有一個 Material Tooltip 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(() => {})
}]
至於單元測試,我單獨添加到每個測試類。
編輯(推薦)
這是答案的更好解決方案
安裝hammerjs
模塊
npm 安裝hammerjs --save
然后polyfills.ts
下行添加到您的polyfills.ts
導入 'hammerjs/hammer';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.