Feature
全部
Loading
{{item.title}}
未完成
Loading
{{item.title}}
已完成
Loading
{{item.title}}
About
在製作todo list的過程中,遇到其中最大的困難就是淺拷貝和深度拷貝的問題。再傳值我做的練習中三個不同狀態中的表單資料 要互相有關聯,卻又要避免讓後面已完成和未完成的這兩種狀態的表單資料直接修改到原表單,因為這容易造成資料失真。 所以我查詢了許多資料發現是淺拷貝和深度拷貝的問題。 淺拷貝說直了就是寫程式常使用的assign這可以使a、b值相同 ,但在object(物件)中如果用assign拷貝資料時會發生a值永遠會跟b值連動,這會讓我們在處 理複製資料時非常困擾所以使用了深度拷貝,只複製b中的值而不複製其位址這樣才不會 a、b 值永遠一起連動。
A物件 : {{item.title}}
B物件 : {{item.title}}
  • 步驟一:請點擊 assgin Button, 這屬於淺考貝的特性, 讓 B assign 至 A,會發現 A 值與 B 值相同
  • Tip: changeB button 功能是把 B 物件中的值刪除
  • 步驟二:請點擊 changeB Button 改變 B 值,並且觀察 A 值的變化,A 物件的內容會與 B 一併刪除
  • 步驟三:請點擊 reset Button 重置 A、B 物件裡的值再接續觀察深度拷貝
  • 步驟四:請點擊 deepCopy Button, 這屬於深度考貝的特性, 讓 B assign 至 A,也會發現 A 值與 B 值相同
  • 步驟五:請點擊 changeB Button 改變 B 值,並且觀察 A 值的變化,A 物件的內容並不會與 B 一併被刪除
AnotherGate

Welcome To Vue.js