在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue父子通信時(shí)必須要經(jīng)過computed處理嗎?

vue父子通信時(shí)必須要經(jīng)過computed處理嗎?

我是看兄弟通信時(shí)的一個(gè)教程時(shí)看到的 說父子通信時(shí)prop要用computed處理 好像我之前看別人的父子通信的教程并沒有說要這樣 我寫的父子通信小例子也沒有用computed也沒事 那么文章中說的這個(gè)對(duì)嗎?好像vue文檔中也提到說最好使用這個(gè)計(jì)算屬性 是這樣的嗎?
圖片描述
vue單向數(shù)據(jù)流這樣說的
圖片描述

console.log
回答
編輯回答
久礙你

先說結(jié)論,這么說是有道理并推薦的,但是并不絕對(duì),這還是取決對(duì)父子組件通訊的理解和使用情況.

父子組件在進(jìn)行通訊時(shí),數(shù)據(jù)是單向傳遞的,這樣能隔離父子組件的數(shù)據(jù),使用computed可以重新得到一個(gè)對(duì)象,作為子組件內(nèi)部數(shù)據(jù),在子組件數(shù)據(jù)變化時(shí),不影響父組件的狀態(tài).再就是當(dāng)props中的數(shù)據(jù)不符合子組件的格式時(shí),computed也能進(jìn)行格式轉(zhuǎn)換.

但是,

  1. 在子組件中prop數(shù)據(jù)不會(huì)被改變時(shí),比如只是展示一個(gè)數(shù)字,那么沒必要使用computed,直接使用就可以.
  2. 對(duì)于一個(gè)數(shù)組或?qū)ο箢愋偷?prop 來說,在子組件中改變這個(gè)對(duì)象或數(shù)組本身將會(huì)影響到父組件的狀態(tài), 所以如果需要父子組件通訊的數(shù)據(jù)同步,不用computed也是可以的。不過官方提供了this.$emit()的方式將子組件數(shù)據(jù)傳遞給父組件,所以對(duì)這塊不熟的話,也是不建議直接使用props的.
2018年5月4日 14:25