Lastor
@Lastor
說
Tue, Oct 18, 2022 5:38 AM
coding
用 Vue 的 watch 監聽一個 Array 結果撞坑,watch 回傳的新舊值居然長的一樣。看半天終於看懂為啥了
newValue and oldValue parameters are the same when d...
Lastor
@Lastor
Tue, Oct 18, 2022 5:39 AM
簡單來說,watch 回傳的 newVal 跟 oldVal,是直接把那個值本身吐回給來
Lastor
@Lastor
Tue, Oct 18, 2022 5:39 AM
所以值是 by reference 的話,去做 arrayData.push(...) 之類的
Lastor
@Lastor
Tue, Oct 18, 2022 5:40 AM
他新舊值是回給你同一個 reference,所以會長的一樣......
Lastor
@Lastor
Tue, Oct 18, 2022 5:41 AM
如果希望確切拿到新舊值,去做一些事情的話,要改用賦值的做法才可以
arrayData = [...newArray]
Lastor
@Lastor
Tue, Oct 18, 2022 5:42 AM
這個總覺得每次過陣子沒用 Vue,再回來摸的時候都會撞到這坑
載入新的回覆
arrayData = [...newArray]