欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue infinite update loop的問題解決

 更新時間:2019年04月23日 14:12:53   作者:Mr_zhang  
這篇文章主要介紹了Vue "...infinite update loop..."的問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一個尤大大曾回復過的問題

vue warn : You may have an infinite update loop in a component render function

最近再寫一個數(shù)組渲染時,源數(shù)據是拿到的數(shù)組經過排序后的數(shù)組,正常運行卻出現(xiàn)爆紅:

報紅代碼:

computed: {
 ...mapState({
  fromNames (state) {
  let fromNames = state.quote.fromNames;
  return fromNames.sort((a, b) => b.isBind - a.isBind);;
  },
 }),
 },

然后...

然后百思不得解,最終找到源頭:

你的確導致了一個無限循環(huán), 因為array.sort()改變了數(shù)組自身,導致了過濾器又一次被觸發(fā)。確保在副本上對數(shù)組排序:
return value.slice().sort(...)

解決方案:

computed: {
 ...mapState({
  fromNames (state) {
  let fromNames = state.quote.fromNames;
  return fromNames.slice().sort((a, b) => b.isBind - a.isBind);
  },
 }),
 },

數(shù)組方法 array.slice()用法

arr.slice([begin[, end]])

slice() 方法會淺復制(shallow copy)數(shù)組的一部分到一個新的數(shù)組,并返回這個新數(shù)組。

begin 起始位置 如果未定義,就默認0;如果大于數(shù)組長度,返回空數(shù)組;如果是負數(shù),則從末尾算起;

end 結束位置(不包含該位置元素)如果省略了,就默認到末尾;如果大于數(shù)組長度,就取數(shù)組長度;如果是負數(shù),則從末尾算起。

技巧:處理類數(shù)組對象

slice() 可以用于把一個類數(shù)組對象轉化為一個新數(shù)組

例如:

function list() {
 return Array.prototype.slice.call(arguments);
}

var list1 = list(1, 2, 3); // [1, 2, 3]

也可以使用.call綁定在函數(shù)的Function.prototype(也可以被簡化為[].slice.call(arguments)

var unboundSlice = Array.prototype.slice;
var slice = Function.prototype.call.bind(unboundSlice);

function list() {
 return slice(arguments);
}

var list1 = list(1, 2, 3); // [1, 2, 3]

或者

[].slice.call({ 0: 0, 1 : 2, 2: 4, length: 4 })
//[0, 2, 4, empty]

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue全局混入之狀態(tài)判斷是否執(zhí)行點擊

    vue全局混入之狀態(tài)判斷是否執(zhí)行點擊

    這篇文章主要介紹了vue全局混入之狀態(tài)判斷是否執(zhí)行點擊方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue如何獲取光標位置

    vue如何獲取光標位置

    這篇文章主要介紹了vue獲取光標位置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Ant Design編寫登錄和注冊頁面的教程

    Ant Design編寫登錄和注冊頁面的教程

    這篇文章主要介紹了Ant Design編寫登錄和注冊頁面的教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue3項目使用pinia狀態(tài)管理器的使用

    vue3項目使用pinia狀態(tài)管理器的使用

    Pinia是一個專為Vue3設計的現(xiàn)代化狀態(tài)管理庫,本文主要介紹了vue3項目使用pinia狀態(tài)管理器的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • vue2模擬vue-element-admin手寫角色權限的實現(xiàn)

    vue2模擬vue-element-admin手寫角色權限的實現(xiàn)

    本文主要介紹了vue2模擬vue-element-admin手寫角色權限的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • vue3的動態(tài)組件是如何工作的

    vue3的動態(tài)組件是如何工作的

    這篇文章主要介紹了vue3的動態(tài)組件是如何工作的,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-03-03
  • Vue?element-ui?el-cascader?只能末級多選問題

    Vue?element-ui?el-cascader?只能末級多選問題

    這篇文章主要介紹了Vue?element-ui?el-cascader?只能末級多選問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue?Router修改query參數(shù)url參數(shù)沒有變化問題及解決

    Vue?Router修改query參數(shù)url參數(shù)沒有變化問題及解決

    這篇文章主要介紹了Vue?Router修改query參數(shù)url參數(shù)沒有變化問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue+Element實現(xiàn)封裝抽屜彈框

    Vue+Element實現(xiàn)封裝抽屜彈框

    這篇文章主要為大家詳細介紹了如何利用Vue和Element實現(xiàn)簡單的抽屜彈框效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-06-06
  • vue3如何直接修改reactive定義的變量

    vue3如何直接修改reactive定義的變量

    這篇文章主要介紹了vue3如何直接修改reactive定義的變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論