ElementUI表單校驗[Violation] Added non-passive event listener to a scroll-blocking ‘touchmove’ event. 解決方案
1.問題描述:
- vue項目中使用ElementUI的表單form校驗單的時候,出現以下警告:
- [Violation] Added non-passive event listener to a scroll-blocking 'touchmove' event. Consider marking event handler as 'passive' to make the page more responsive.
- 雖然他不會直接影響項目出現報錯或者無法正常運行,但是這系列警告的存在就會為以后項目運行出現未知問題埋下隱患。
2.解決方案:
- 造成上述問題的原因是:項目沒有添加事件管理者’passive’,而在谷歌瀏覽器里面 Chrome51 版本以后,Chrome 增加了新的事件捕獲機制Passive Event Listeners (其作用為: 告訴前頁面內的事件監聽器內部是否會調用preventDefault函數來阻止事件的默認行為,以便瀏覽器根據這個信息更好地做出決策來優化頁面性能。當屬性passive的值為true的時候,代表該監聽器內部不會調用preventDefault函數來阻止默認滑動行為,Chrome瀏覽器稱這類型的監聽器為被動(passive)監聽器。目前Chrome主要利用該特性來優化頁面的滑動性能,所以Passive Event Listeners特性當前僅支持mousewheel/touch相關事件。 )。所以這里的解決方案是:安裝default-passive-events插件,
// 安裝插件 npm install -S default-passive-events // 在main.js引入 import 'default-passive-events'