父組件傳值給子組件
props方式
? ? ? ? ? ? ? ??
父組件上1處聲明傳遞的鍵并賦值,子組件2處使用props接收一下這個鍵就可以使用了。在父組件改變這個值的話子組件跟著一起響應,子組件改變這個值的話父組件不改變。次為響應式,但是也僅限于父組件的值變化子組件跟著響應
$refs
? ? ? ? ? ? ? ??
在1處使用ref聲明,在2處使用$refs,屬性名找到組件的實例并給實例的數據賦值。在父組件改變值子組件不跟著做出響應(要想跟著響應在手動設置一遍),在子組件改變值父組件也不會變。此為非響應式。有人可能說$refs是操作dom,非也,$refs在組件上的話獲得是組件的實例,跟普通的dom不一樣。
$children(推薦)
? 只需在$children找到對應子組件的位置就能獲得實例,直接設置即可。改變子父組件的值效果跟$refs的一樣,也是非響應式
子組件傳值給父組件
$emit
在1處子組件使用$emit發送一個事件并攜帶數據,在2處v-on:接收一下子組件的事件,3處父組件用一個方法接收數據。父組件接收成功數據后再去改變字符組件的值另一方都不會變。非響應式
$parent(推薦)
在子組件使用$parent或者父組件的實例,直接改變里面的數據。也是非響應式的
?