vue項目中請求數(shù)據(jù)特別多導(dǎo)致頁面卡死的解決
vue請求數(shù)據(jù)特別多導(dǎo)致頁面卡死
1. 在平時開發(fā)中經(jīng)常會碰到數(shù)據(jù)量特別大,請求接口時導(dǎo)致頁面卡死或者崩潰的情況
上圖這里就是因為數(shù)據(jù)太大導(dǎo)致頁面在數(shù)據(jù)請求回來之前一直處于卡死的狀態(tài),這種時候可以使用freeze方法來為數(shù)組賦值,將 this.xxx = res 改為 this.xxx = Object.freeze(res) ,僅供參考。
ps: 本人小白一枚,目前我碰到的是可以用這種方法解決
vue項目頁面卡死原因排查
問題描述
點擊后臺管理某一菜單發(fā)現(xiàn)直接卡死,沒有其他報錯信息,整個網(wǎng)頁鼠標(biāo)變?yōu)槭种笭顟B(tài)不能進行任何操作
問題排查
首先是通過注釋代碼發(fā)現(xiàn)問題是出在以下代碼中
<basic-container> <h4>教師指標(biāo)數(shù)據(jù)</h4> <avue-crud ref="crud" :data="tableData" :table-loading="tableLoading" :option="tableOption" @refresh-change="refreshChange" @search-change="searchChange"> <template slot-scope="scope" slot="menu"> <el-button type="text" icon="el-icon-view" size="small" @click="handleView(scope.row,scope.index)">查看 </el-button> </template> </avue-crud> </basic-container>
查看日志輸出
鎖定到問題是數(shù)據(jù)展示的data 需要array 但是卻拿到了Object
將數(shù)據(jù)展示方式tableData改為 table:[]數(shù)組類型進行展示即可
data:{ return :{ tableData: [] ] } getList() { this.tableLoading = true; this.tableData=[]; fetchList(this.listQuery).then(response => { console.log("------------------"+response.data.data) this.tableData.push(response.data.data) ; this.tableLoading = false }) },
小結(jié)一下
這里有幾個問題
一個是avue 版本兼容的問題 貌似舊版本會兼容這種情況不會出現(xiàn)卡死的問題
大佬修改框架后出現(xiàn)的這個問題
另一個是返回值規(guī)范 如果使用表格 最好都返回list數(shù)組 不要返回單object類型導(dǎo)致出現(xiàn)類似
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue router動態(tài)路由下讓每個子路由都是獨立組件的解決方案
這篇文章主要介紹了vue router動態(tài)路由下讓每個子路由都是獨立組件的解決方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-04-04vue 數(shù)據(jù)雙向綁定的實現(xiàn)方法
這篇文章主要介紹了vue 數(shù)據(jù)雙向綁定的實現(xiàn)方法,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-03-03vue2中的keep-alive使用總結(jié)及注意事項
vue2.0提供了一個keep-alive組件用來緩存組件,避免多次加載相應(yīng)的組件,減少性能消耗。本文給大家介紹vue2中的keep-alive使用總結(jié)及注意事項,需要的朋友參考下吧2017-12-12Vue 2.5 Level E 發(fā)布了: 新功能特性一覽
很高興Vue 2.5 Level E 發(fā)布了。在這篇文章中,我們將重點介紹一些更重要的的變化:更好的 TypeScript 集成,更好的錯誤處理,更好地支持單文件組件中的函數(shù)式組件以及與環(huán)境無關(guān)的服務(wù)端渲染2017-10-10Vue項目中CSS?Modules和Scoped?CSS的介紹與區(qū)別
在vue中我們有兩種方式可以定義css作用域,一種是scoped,另一種就是css modules,下面這篇文章主要給大家介紹了關(guān)于Vue項目中CSS?Modules和Scoped?CSS的相關(guān)資料,需要的朋友可以參考下2022-03-03