vue 子組件傳值給父組件,兄弟組件傳參以及實現動態組件


父組件傳參給子組件

 

父組件:

     子組件引入父組件注冊后當做標簽的形式掛載

     <子組件 :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注入祖父組件傳遞過來的數據。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM