最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ResizeObserver?loop?limit?exceeded報錯原因及解決方案

 更新時間:2023年09月21日 11:41:44   作者:只愛喝白開水  
這篇文章主要給大家介紹了關于ResizeObserver?loop?limit?exceeded報錯原因及解決的相關資料,公司項目監(jiān)聽系統(tǒng)中發(fā)現(xiàn)一個高頻錯誤ResizeObserver loop limit exceeded,而瀏覽器的console中卻沒有提示,需要的朋友可以參考下

背景

? 公司內部搭建了前端監(jiān)控系統(tǒng)Sentry,我把一些項目接入進去,一周后發(fā)現(xiàn)上報數(shù)量最多的事件是ResizeObserver loop limit exceeded。這些事件上報得太多,給Sentry服務造成很大壓力,于是研究一番準備解決之。

問題原因

  • element ui中table組件的resize回調代碼如下
/* istanbul ignore next */
export const addResizeListener = function(element, fn) {
  if (isServer) return;
  if (!element.__resizeListeners__) {
    element.__resizeListeners__ = [];
    element.__ro__ = new ResizeObserver(resizeHandler);
    element.__ro__.observe(element);
  }
  element.__resizeListeners__.push(fn);
};
  • 如果在一個動畫幀內,ResizeObserver不能處理所有的observations,就會觸發(fā)這個ResizeObserver loop limit exceeded。

解決方案

  • 阻止table的重繪,例如給所有列都增加width,但是這個方案不好,無法自適應寬度。

    <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="date" label="日期" width="180"> </el-table-column>
      <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
      <el-table-column prop="address" label="地址" width="180"> </el-table-column>
      <el-table-column prop="address" label="地址" width="180"> </el-table-column>
      <el-table-column prop="address" label="地址" width="180"> </el-table-column>
    </el-table>
  • resize時,給回調進行節(jié)流,使其1幀內最多執(zhí)行一次。代碼如下:

    import Vue from 'vue';
    import ElementUI, { Table } from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    import App from './App.vue';
    // 解決 ElTable 自動寬度高度導致的「ResizeObserver loop limit exceeded」問題
    const fixElTableErr = (table) => {
        const oldResizeListener = table.methods.resizeListener;
        table.methods.resizeListener = function () {
            window.requestAnimationFrame(oldResizeListener.bind(this));
        };
    };
    // 一定要在Vue.use之前執(zhí)行此函數(shù)
    fixElTableErr(Table);
    Vue.use(ElementUI);
    new Vue({
        el: '#app',
        render: (h) => h(App),
    });
  • element ui 在最新的版本中已經使用decounce方法修復了這個問題,源碼如下:

    /* istanbul ignore next */
    export const addResizeListener = function(element, fn) {
      if (isServer) return;
      if (!element.__resizeListeners__) {
        element.__resizeListeners__ = [];
        element.__ro__ = new ResizeObserver(debounce(16, resizeHandler));
        element.__ro__.observe(element);
      }
      element.__resizeListeners__.push(fn);
    };

總結 

到此這篇關于ResizeObserver loop limit exceeded報錯原因及解決方案的文章就介紹到這了,更多相關ResizeObserver loop limit exceeded報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vuex模塊化編碼使用詳解

    Vuex模塊化編碼使用詳解

    本文介紹了 Vuex 的模塊化和命名空間功能,通過對 store.js 進行模塊劃分,提高代碼維護性和數(shù)據(jù)分類的明確性,并講解了在組件中讀取和操作模塊化 state、getters、actions、mutations 的具體方法
    2025-10-10
  • vue中的axios配置及接口請求路徑api配置

    vue中的axios配置及接口請求路徑api配置

    這篇文章主要介紹了vue中的axios配置及接口請求路徑api配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • element根據(jù)輸入動態(tài)生成表格的示例代碼

    element根據(jù)輸入動態(tài)生成表格的示例代碼

    在現(xiàn)代電商系統(tǒng)開發(fā)中,后臺管理界面經常需要根據(jù)商品規(guī)格和規(guī)格值動態(tài)生成SKU表格,本文通過element-ui框架,展示了如何在Vue.js的環(huán)境下,利用子組件和動態(tài)綁定的方式,實現(xiàn)SKU表格的增刪改查功能
    2024-11-11
  • 詳解Vue與VueComponent的關系

    詳解Vue與VueComponent的關系

    這篇文章主要為大家介紹了Vue與VueComponent的關系,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 使用elementUI實現(xiàn)將圖片上傳到本地的示例

    使用elementUI實現(xiàn)將圖片上傳到本地的示例

    今天小編就為大家分享一篇使用elementUI實現(xiàn)將圖片上傳到本地的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 關于Vue Router中路由守衛(wèi)的應用及在全局導航守衛(wèi)中檢查元字段的方法

    關于Vue Router中路由守衛(wèi)的應用及在全局導航守衛(wèi)中檢查元字段的方法

    這篇文章主要介紹了關于Vue Router中路由守衛(wèi)的應用及在全局導航守衛(wèi)中檢查元字段的方法,實現(xiàn)方法有兩種,本文通過實例代碼對每種方法介紹的很詳細,需要的朋友參考下
    2018-12-12
  • vue項目基于WebRTC實現(xiàn)一對一音視頻通話

    vue項目基于WebRTC實現(xiàn)一對一音視頻通話

    這篇文章主要介紹了vue項目基于WebRTC實現(xiàn)一對一音視頻通話效果,實現(xiàn)代碼分為前端和后端兩部分代碼,需要的朋友可以參考下
    2024-05-05
  • Vuejs第十三篇之組件——雜項

    Vuejs第十三篇之組件——雜項

    組件(Component)是 Vue.js 最強大的功能之一。本文重點給大家介紹vuejs組件相關知識,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • Vue前端利用slice()方法實現(xiàn)分頁器

    Vue前端利用slice()方法實現(xiàn)分頁器

    分頁功能是常見的需求之一,本文主要介紹了Vue前端利用slice()方法實現(xiàn)分頁器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • vue webpack重寫cookie路徑的方法

    vue webpack重寫cookie路徑的方法

    webpack提供的反向代理服務器在開發(fā)階段非常方便,幾行簡單的代碼配置就可以使用反向代理功能,包括路徑重寫、cookie處理等。這篇文章主要介紹了vue webpack重寫cookie路徑,需要的朋友可以參考下
    2019-07-07

最新評論

怀安县| 宝鸡市| 兴宁市| 博罗县| 高雄县| 当阳市| 射阳县| 宣威市| 丰原市| 商洛市| 平昌县| 扬中市| 维西| 伽师县| 高密市| 乌拉特中旗| 游戏| 浑源县| 泌阳县| 胶南市| 固阳县| 江西省| 延边| 葫芦岛市| 吉木乃县| 南召县| 贡嘎县| 普定县| 稻城县| 铅山县| 喀什市| 馆陶县| 襄城县| 固原市| 西丰县| 马尔康县| 敦化市| 高台县| 邮箱| 丹东市| 新绛县|