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

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

vue父子組件props傳回調函數和子組件emit的區別

vue父子組件props傳回調函數和子組件emit的區別

MMTTMM 2019-05-12 12:10:35
1.父組件給子組件傳回調函數過去,在子組件里把數據當參數傳進去調用和2.子組件emit數據給父組件,在父組件中使用有啥區別嗎感覺全部都能用第1種方式啊,為啥還要子組件emit這種方式目前唯一能想到的就是第1種方式,子組件可以修改父組件傳過來的方法,感覺不太好PS:在子組件嘗試修改props的時候,另外發現個問題,比如this.props.callback=function(){alert('改寫了父組件方法')},這樣寫是可以的改寫掉的但是如果vara=this.props.callbacka=function(){alert('改寫了父組件方法')}這樣是改不掉的,好奇怪,為啥?這2個問題很困惑,小弟vue新手,還求大神賜教,感激不盡
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

很簡單,很多時候,我們的子組件只需要把值給上一層,不需要做其他的多余的事情。你當然可以把回調傳進去……但是為了解耦父子組件,在做這個子組件的時候還是需要emit出來。因為很多時候整個父組件的由無數小的子組件構成的。父組件統一處理邏輯比在子組件單個處理合理的多。。。組件盡量做自己的事,別做別的組件的事。這樣,維護也很方便。
                            
查看完整回答
1 反對 回復 2019-05-12
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

感覺全部都能用第1種方式啊,為啥還要子組件emit這種方式
因為除了父子組件,還有兄弟組件,而event的方式只是也適用于父子組件而已。
這樣是改不掉的,好奇怪,為啥?
此時只是a指向了this.props.callback,跟vue沒有發生任何關系,重新賦值也只是把a指向了別的東西而已。
                            
查看完整回答
反對 回復 2019-05-12
  • 2 回答
  • 0 關注
  • 2721 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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