鍍金池/ 問答/HTML/ vue-cli項目data中數(shù)據(jù)變化,頁面列表如何展示前后數(shù)據(jù)變化?

vue-cli項目data中數(shù)據(jù)變化,頁面列表如何展示前后數(shù)據(jù)變化?

像這種異步獲取的數(shù)據(jù)中數(shù)值升降,在vue-cli中如何實現(xiàn)?

clipboard.png

clipboard.png

clipboard.png

回答
編輯回答
陪我終

clipboard.png

function diff(arr1, arr2) {
    return arr1.map((item, i) => Object.assign(item, {up: item.a < arr2[i].a}))
}
diff([{a: 1.2}, {a: 2.8}, {a: 3}], [{a: 1.5}, {a: 2}, {a: 2}])

簡單diff 一下就行了,返回一個布爾類型的 up ,然后設(shè)置對應(yīng)的升降圖標(biāo)

2017年9月10日 14:51
編輯回答
綰青絲

這個前后變化其實需求有些分歧。

  1. 用戶刷新頁面前后變化。
  2. 類似百度這種,與用戶刷新頁面無關(guān),由后端去計算升降。

第二種需求沒啥討論的,假設(shè)題主問的是第一種的話,我會這樣解決:

請求到新的列表數(shù)據(jù)后,別著急綁定data,先與現(xiàn)有數(shù)據(jù)進(jìn)行對比,將對比結(jié)果綁到新數(shù)據(jù)上,再更新至data。

---- 分隔線 ---

對于多層嵌套,也是要遍歷進(jìn)行對比的。
要明白你需要的上升或下降,都需要數(shù)據(jù)來體現(xiàn),所以只能與上次數(shù)據(jù)進(jìn)行遍歷比較。

2018年3月1日 00:38