父傳子:
傳遞:當子組件在父組件中當做標簽使用的時候,給當前子組件綁定一個自定義屬性,值為需要傳遞的數據
接收:在子組件內部通過props屬性來進行接收。props接收的方式有2種一種為數組 另一種為對象
1、數組接收:props:[自定義屬性]
2、對象接收:
props:{
自定義屬性:{
type:
default:
required
}
}
type:限制外部數據的類型
default:默認值 當父組件沒有給子組件傳遞值得時候用默認值
required:當前屬性是必傳的值
子傳父
1/當子組件在父組件中當做標簽使用的時候,給當前子組件綁定一個自定義方法。值為接收參數的函數(注意這個函數不允許加());
在子組件內部通過this.$emit來調用自定義方法,值通過函數進行傳遞
2/插槽作用域
非父子傳遞
1/在Vue的原型上加一個公共方法即可 (只要能讓組件擁有共同的$on $emit就可以實現非父子組件傳值)
a:給原型上添加一個公共的vue實例
2/添加一個observer(手動封裝的事件訂閱)
3/Eventbus
4/vuex