iT邦幫忙

1

請問 vue 如何將一個變數綁定到其他變數,並且避免連動修改?

像是目前有兩個變數 訂單清單(數組物件)目前修改訂單(單個物件)

使用者在一開始點指定修改訂單時,會做 修改訂單 = 訂單清單[選定index]
接著使用者 訂單清單 修改時 訂單清單[選定index] 的資料也會跟著改變
但這不是使用者期望效果,因為預期心裡是點保存確認才去改動 訂單清單[選定index]

請問如何避免兩者的連動修改?

看更多先前的討論...收起先前的討論...
通靈亡 iT邦研究生 4 級 ‧ 2020-08-23 23:04:40 檢舉
https://ithelp.ithome.com.tw/questions/10199706
我和林8大大的回答你自己參考一下

還有我說句比較不客氣的
我覺得你問問題的發散程度,已經到為了「刷存在感」的程度了

雖然你之前跟某大大說過,你的職位沒辦法在一個點深入
可是就像你問很多js或vue的問題,在沒基礎下亂槍打鳥問問題,會讓別人覺得
你並不是真心想打好js和vue的基礎,不知道你自己有沒有發覺。
dragonH iT邦超人 5 級 ‧ 2020-08-23 23:27:41 檢舉
同感 你已經背離你簡介寫的目標了

最近目標 : 堅持每一個禮拜要問10個"有意義問題"
感謝上面大神的指教...
目前就是在學習基礎,並且在其中把問題提出
同時我不會擺爛,依舊會自己繼續找答案,假如找到答案我也會反饋回答

最後我不是那種「不會感謝、不會選為最佳解答、找到答案不會反饋」的邦友 , 謝謝。
dragonH iT邦超人 5 級 ‧ 2020-08-24 09:53:01 檢舉
你知道你很多都是很明顯

為了選最佳解而選的嗎?

甚至還有選自己小號的

你確定你找到的答案真的是最佳解嗎?

給你個建議

問"好"問題



問"多"問題

重要多了
謝謝 dragonH 大神的糾正
前輩先進在IT邦幫忙的貢獻大家是有目共睹的 , 在此說聲抱歉 , 抱歉 , 抱歉
dragonH iT邦超人 5 級 ‧ 2020-08-24 10:08:29 檢舉
不要把我當前輩XD

稱號那個只能代表用it 邦比較久而已

而且我最討厭那種露出老鳥嘴臉的人

上面只是給你個建議而已

加油
通靈亡 iT邦研究生 4 級 ‧ 2020-08-24 23:08:06 檢舉
@我問故我在
說真的,最佳解答和Like不是我來Ithelp參與問答的初衷
我是希望你,仔細看我討論給你參考的問題發問

雖然對方跟你一樣不理解Vue
但是對方的問題承述讓人很清楚明白
他做了什麼努力,在什麼觀念上卡關了,是真的需要他人拉一把協助

有些問題如果你在發問之前,嘗試多花點時間查資料
你會發現其實都找的到解決方案
進而省下你很多時間,問問題的品質也會增加

就像你問新人受訓班的問題一樣
你有自己透過104和身邊的人了解過,進一步表達想要知道什麼點
不會讓人家覺得,你只是來丟問題的
像那個問題就是不錯的討論

1 個回答

3
我問故我在
iT邦新手 4 級 ‧ 2020-08-24 08:10:54
最佳解答

發現可以使用 ES6 Spread syntax 新語法做到物件拷貝,避免上述問題 :

修改訂單 = Object.assign({}, 訂單列表[選定index])

但是對於深度嵌套的對象,這可能會出錯

這個問題可以使用lodash函數'clonedeep'進行此操作,它不會複製引用。

修改訂單 = _.cloneDeep(訂單列表[選定index])

或是嫌麻煩不考慮效能,可以使用JSON.parse + JSON.stringify

修改訂單 = JSON.parse(JSON.stringify( 訂單列表[選定index] ));

恭喜原PO找到答案!
BTW: 原來IT邦可以自問自答再選最佳解答,酷XD

我要發表回答

立即登入回答