父組件傳參給子組件
父組件: 子組件引入父組件注冊后當做標簽的形式掛載 <子組件 :xxx="傳遞的參數"></子組件> 子組件: 利用props接收 props:{}
vue 子組件使用$emit傳參給父組件
方法一: 子組件: this.$emit('xxx', 參數) 父組件: <子組件 @xxx='方法名($event)'></子組件> 方法二:父組件中子組件標簽綁定一個ref 可以 通過this.$refs.xxx來獲取
兄弟組件傳參:
main.js
vue.prototype.$EventBus = new vue() // 先將其綁定在原型鏈上
兄1:this.$EventBus.$emit('xxx' ,參數)
兄2:this.$EventBus.$on('xxx', (message) => {
console.log(message)
})
動態組件:
<component :is="變量名"></component>
'變量名' 是data里的數據可以動態改變從而切換不同的組件,顯示不同的組價內容
將需要變換的組件先引入共同的父組件 然后根據各自項目需求進行切換。
最后還發現了一種傳參方式:provide inject
vue提供了provide inject幫助我們解決多層嵌套通信的問題,在provide中指定要傳遞給子孫組件的數據,子孫組件通過inject注入祖父組件傳遞過來的數據。