在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vuex 快捷替換數(shù)組中的某項(xiàng)

vuex 快捷替換數(shù)組中的某項(xiàng)

目前有項(xiàng)需求,即是 一個(gè)用來(lái)渲染的保存的vuex的數(shù)組里面, 基礎(chǔ)結(jié)構(gòu)是這樣的 [{'id':1, 'loadState': 'prepare'},......{'id':n, 'loadState': 'prepare'}]...

我這邊通過(guò)es6的數(shù)組的find方法 找到滿(mǎn)足數(shù)組里面的id與 我從后臺(tái)獲得的id 相同的某項(xiàng),把里面的loadState 改為 'loading', 再提交到原來(lái)的數(shù)組中去。
問(wèn)下如果是深復(fù)制的話(huà),是否需要復(fù)制原來(lái)的整個(gè)數(shù)組 ,再把對(duì)應(yīng)項(xiàng)拿出來(lái)修改,再mutation?
如果這樣提交會(huì)不會(huì)整個(gè)頁(yè)面的數(shù)組都會(huì)有一閃而過(guò)的景象?

或者有什么方法只改變其中的某項(xiàng)

回答
編輯回答
拼未來(lái)

1.你用Array.prototype.splice來(lái)改變你想改變的特定性是不會(huì)有問(wèn)題的,頁(yè)面也不會(huì)出現(xiàn)閃動(dòng)。因?yàn)関ue更新的時(shí)候是通過(guò)dom diff來(lái)做的,只會(huì)更新需要更新的部分
2.你這樣用數(shù)組來(lái)保存,查找的時(shí)間復(fù)雜度是O(n),可以維護(hù)一個(gè)id和數(shù)組下標(biāo)的對(duì)應(yīng)關(guān)系,把時(shí)間復(fù)雜度降到O(1)

2017年6月20日 07:23
編輯回答
離殤

clipboard.png
去看了一下官網(wǎng) 似乎有轉(zhuǎn)機(jī)?

2017年6月16日 05:33
編輯回答
離殤

你在糾結(jié)視圖層引起的變化差別的時(shí)候,建議先看結(jié)果且看看diff算法原理,這樣可以根據(jù)diff來(lái)優(yōu)化你的代碼。

2017年2月18日 14:04
編輯回答
挽青絲

來(lái)個(gè)人回答下

2017年12月1日 10:01