亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue中子組件向父組件傳值,會實時更新嗎?

vue中子組件向父組件傳值,會實時更新嗎?

素胚勾勒不出你 2019-05-09 08:36:40
vue項目中遇到這樣一個問題:觸發子組件的一個事件,事件中emit觸發父組件的自定義事件,向父組件發送了一個數組;在父組件中的自定義事件中拿到這個數組之后,賦值給定義在data中的一個變量,然后用這個變量去渲染了一個列表;整個代碼中從頭到尾子組件只emit了一次,也就是說父組件只接受了子組件的數組一次,拿到后也只給data賦值了一次;但問題來了,我修改子組件的數組內容(push,splice),父組件中的列表也跟著變了,這什么情況?然后我寫了個demo,發現如果傳的是個數值或字符串,在子組件中修改,父組件中的內容不會變...有遇到此類問題的人嗎?求解答
查看完整描述

2 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

因為數組是引用類型,數值or字符串是基本類型,引用類型的更改會引起連鎖反應,你如果實在不想改的話,就在emit的時候深拷貝一份給父組件
比如數組為arr,
emit的時候不直接傳遞arr,而是傳遞JSON.parse(JSON.stringify(arr))這個值,就可以了,當然實現深拷貝的方法有很多種,這只是其中一種
                            
查看完整回答
反對 回復 2019-05-09
  • 2 回答
  • 0 關注
  • 1516 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號